MCPcopy Create free account

hub / github.com/anthropics/claudes-c-compiler / functions

Functions6,057 in github.com/anthropics/claudes-c-compiler

↓ 46 callersMethodemit_instr_reg_reg
(&mut self, mnemonic: &str, src: &str, dst: &str)
src/backend/common.rs:840
↓ 46 callersFunctionget_imm
(operands: &[Operand], idx: usize)
src/backend/arm/assembler/encoder/mod.rs:968
↓ 46 callersMethodparse
(&mut self)
src/frontend/parser/parse.rs:383
↓ 46 callersFunctionpush_dyn
Append an ELF32 dynamic entry (8 bytes: tag + value).
src/backend/i686/linker/types.rs:244
↓ 44 callersFunctionphys_reg_name
Map a PhysReg index to its x86-64 register name. Handles both callee-saved (1-5) and caller-saved (10-15) registers.
src/backend/x86/codegen/emit.rs:65
↓ 44 callersMethodsizeof_type
(&self, ts: &TypeSpecifier)
src/ir/lowering/types.rs:357
↓ 43 callersFunctionmake_block
Create a basic block for testing. Reduces boilerplate since `source_spans` is always empty in tests.
src/passes/cfg_simplify.rs:1115
↓ 43 callersFunctionwphdr
(buf: &mut [u8], off: usize, pt: u32, flags: u32, foff: u64, va: u64, fsz: u64, msz: u64, align: u64)
src/backend/elf/io.rs:150
↓ 42 callersMethodemit_implicit_cast
Insert an implicit type cast if src_ty differs from target_ty.
src/ir/lowering/expr.rs:523
↓ 42 callersFunctionencode_neon_three_diff
Encode NEON three-different instructions: USUBL, SSUBL, UADDL, SADDL, etc. These instructions have wider destination than source operands. Format: 0
src/backend/arm/assembler/encoder/neon.rs:89
↓ 40 callersMethodemit_store_to_sp
Emit store to [base, #offset], handling large offsets. For large frames with x19 as frame base register, tries x19-relative addressing before falling
src/backend/arm/codegen/emit.rs:695
↓ 40 callersFunctionencode_neon_three_same
Encode NEON three-same-register instructions: CMEQ, UQSUB, SQSUB, CMHI, etc. Layout: 0 Q U 01110 size 1 Rm opcode 1 Rn Rd 31 30 29 28-24 23-22 21 20-
src/backend/arm/assembler/encoder/neon.rs:65
↓ 40 callersMethodoperand_to_reg
Load an operand value into any GP register (returned as string). Uses rcx as the scratch register.
src/backend/x86/codegen/emit.rs:842
↓ 40 callersFunctionread_u16
(data: &[u8], offset: usize)
src/backend/elf/io.rs:8
↓ 40 callersFunctionremap_value
Remap a Value by adding an offset.
src/passes/inline.rs:1465
↓ 40 callersMethodterminate
(&mut self, term: Terminator)
src/ir/lowering/lower.rs:1168
↓ 40 callersMethodtype_spec_to_ir
(&self, ts: &TypeSpecifier)
src/ir/lowering/types.rs:171
↓ 40 callersFunctionx87_encode
Encode x87 80-bit extended precision bytes from sign, biased exponent, and mantissa.
src/common/long_double.rs:606
↓ 39 callersMethodemit_instr_reg_rbp
(&mut self, mnemonic: &str, reg: &str, offset: i64)
src/backend/common.rs:864
↓ 39 callersMethodis_signed
(&self)
src/common/types.rs:1406
↓ 39 callersMethodslot_ref_offset
Format a stack slot reference with an additional byte offset. Used for accessing sub-fields of multi-byte slots (e.g., upper 4 bytes of i64).
src/backend/i686/codegen/emit.rs:169
↓ 38 callersMethodresolve_slot_addr
Classify how to access a value's effective address. Returns `None` if the value has no assigned stack slot (and isn't register-assigned).
src/backend/state.rs:455
↓ 37 callersMethodencode_x87_mem
(&mut self, ops: &[Operand], opcode: &[u8], ext: u8)
src/backend/i686/assembler/encoder/x87.rs:11
↓ 37 callersFunctionis_xmm_or_ymm
Is this an XMM or YMM register?
src/backend/x86/assembler/encoder/registers.rs:133
↓ 37 callersMethodstart_block
(&mut self, label: BlockId)
src/ir/lowering/lower.rs:1178
↓ 36 callersFunctioncallee_saved_name
Map a PhysReg index to its RISC-V register name.
src/backend/riscv/codegen/emit.rs:43
↓ 36 callersMethodfresh_label
(&mut self)
src/ir/lowering/lower.rs:1050
↓ 35 callersMethodemit_load_imm64
Load a 64-bit immediate value into a register using movz/movn + movk sequence. Uses MOVN (move-not) for values where most halfwords are 0xFFFF, which
src/backend/arm/codegen/emit.rs:866
↓ 35 callersFunctionget_freg
(operands: &[Operand], idx: usize)
src/backend/riscv/assembler/encoder/mod.rs:358
↓ 35 callersFunctionread_u64
(data: &[u8], offset: usize)
src/backend/elf/io.rs:22
↓ 34 callersFunctioncallee_saved_name
(reg: PhysReg)
src/backend/arm/codegen/emit.rs:50
↓ 34 callersMethodencode_x87_mem
(&mut self, ops: &[Operand], opcode: &[u8], ext: u8)
src/backend/x86/assembler/encoder/x87_misc.rs:81
↓ 34 callersFunctionmake_x87_infinity
(negative: bool)
src/common/long_double.rs:529
↓ 34 callersFunctionreplace_operand
(op: &mut Operand, copy_map: &[Option<Operand>])
src/passes/copy_prop.rs:348
↓ 34 callersMethodrex
Build a REX prefix byte.
src/backend/x86/assembler/encoder/core.rs:7
↓ 33 callersMethodadvance
(&mut self)
src/frontend/preprocessor/conditionals.rs:468
↓ 33 callersFunctionencode_r
R-type: funct7[31:25] | rs2[24:20] | rs1[19:15] | funct3[14:12] | rd[11:7] | opcode[6:0]
src/backend/riscv/assembler/encoder/mod.rs:275
↓ 33 callersMethodexpect_closing
Expect a closing delimiter (paren, brace, bracket) and if missing, attach a note pointing back to where the opening delimiter was, plus a fix-it hint
src/frontend/parser/parse.rs:476
↓ 33 callersMethodis_integer
(&self)
src/common/types.rs:1399
↓ 33 callersFunctionpush_zero_bytes
Append `count` zero bytes as `GlobalInit::Scalar(IrConst::I8(0))` to `elements`. Used throughout global initialization for padding and zero-fill.
src/ir/lowering/global_init_helpers.rs:190
↓ 33 callersFunctionremap_operand
Remap an Operand (only Value operands need remapping; constants stay the same).
src/passes/inline.rs:1475
↓ 33 callersMethodreplace
Replace a line with new text.
src/backend/peephole_common.rs:196
↓ 32 callersMethodclear
Clear all bits.
src/backend/liveness.rs:123
↓ 32 callersFunctionis_i128_type
Check if an IR type is a 128-bit integer type (I128 or U128).
src/backend/generation.rs:1380
↓ 31 callersMethodemit_bytes
Append raw bytes to the current section.
src/backend/elf/writer_base.rs:108
↓ 31 callersMethodemit_named_label
(&mut self, label: &str)
src/backend/common.rs:943
↓ 31 callersMethodfunc
(&self)
src/ir/lowering/lower.rs:225
↓ 31 callersFunctionmark_nop
(info: &mut LineInfo)
src/backend/x86/codegen/peephole/types.rs:676
↓ 30 callersMethodemit_rex_rr
Emit REX prefix if needed for reg-reg operation.
src/backend/x86/assembler/encoder/core.rs:34
↓ 30 callersMethodload_large_imm
Load an immediate into a register using the most efficient sequence. Handles all 64-bit values including negatives via MOVZ/MOVK or MOVN/MOVK.
src/backend/arm/codegen/emit.rs:859
↓ 30 callersMethodparse_expr
(&mut self)
src/frontend/parser/expressions.rs:70
↓ 30 callersMethodset_flag
(&mut self, mask: u16, v: bool)
src/frontend/parser/ast.rs:109
↓ 30 callersMethodstore_t0_to
Store t0 to a value's location (register or stack slot).
src/backend/riscv/codegen/emit.rs:362
↓ 30 callersMethodwrite_const_to_bytes
Write an IrConst value to a byte buffer at the given offset using the field's IR type.
src/ir/lowering/global_init_bytes.rs:1246
↓ 29 callersFunctioncollect
(op: &Operand, f: &mut impl FnMut(u32))
src/passes/licm.rs:183
↓ 29 callersMethodis_nonzero
Returns true if this constant is nonzero (for truthiness checks in const eval).
src/ir/constants.rs:240
↓ 29 callersMethodload_complex_real
Load the real part of a complex value from a pointer.
src/ir/lowering/complex.rs:112
↓ 29 callersMethodstate_ref
(&self)
src/backend/arm/codegen/emit.rs:1732
↓ 28 callersMethodemit_instr_rbp
(&mut self, mnemonic: &str, offset: i64)
src/backend/common.rs:933
↓ 27 callersFunctioncreg_num
(reg: u32)
src/backend/riscv/assembler/compress.rs:623
↓ 27 callersFunctionencode_alu_reg
(operands: &[Operand], funct3: u32, funct7: u32)
src/backend/riscv/assembler/encoder/base.rs:260
↓ 27 callersMethodexpect_context
Expect a token with a contextual description of the construct being parsed. Unlike `expect()`, produces messages like "expected '(' after 'if'" instea
src/frontend/parser/parse.rs:508
↓ 27 callersMethodget_struct_layout_for_ctype
Get a StructLayout for a CType if it's a struct or union.
src/ir/lowering/global_init_compound.rs:416
↓ 27 callersFunctionis_creg
(reg: u32)
src/backend/riscv/assembler/compress.rs:617
↓ 27 callersFunctionreg_num
Parse a register name to its 5-bit encoding number (0-31).
src/backend/riscv/assembler/encoder/mod.rs:146
↓ 26 callersMethoddefine
Define a new macro.
src/frontend/preprocessor/macro_defs.rs:142
↓ 26 callersFunctionis_ident_cont_byte
(b: u8)
src/frontend/preprocessor/utils.rs:30
↓ 26 callersMethodis_zero
(&self)
src/common/long_double.rs:91
↓ 26 callersMethodlookup_var_info
Look up the shared type metadata for a variable by name. Checks locals first, then globals. Returns `&VarInfo` which provides access to the shared fi
src/ir/lowering/lower.rs:333
↓ 26 callersMethodto_usize
Extract as usize (integer constants only).
src/ir/constants.rs:362
↓ 26 callersMethodtruncate_i64
Truncate an i64 value to this type's width, applying sign/zero extension back to i64. Used for case-value truncation in switch statements. Types wider
src/common/types.rs:1824
↓ 26 callersMethodvalue_to_reg
Load a Value into a named register. For allocas, loads the address (leaq); for register-allocated values, copies from the callee-saved register; for r
src/backend/x86/codegen/emit.rs:604
↓ 25 callersMethodadd
Add a string to the table and return its offset. Returns 0 for empty strings. Deduplicates repeated insertions.
src/backend/elf/string_table.rs:25
↓ 25 callersMethodemit_gep_offset
Emit a GEP to compute base + byte_offset and return the address Value.
src/ir/lowering/lower.rs:1151
↓ 25 callersMethodencode_unary_rm
(&mut self, ops: &[Operand], op_ext: u8, size: u8)
src/backend/x86/assembler/encoder/gp_integer.rs:707
↓ 25 callersMethodset_acc
(&mut self, value_id: u32, is_alloca: bool)
src/backend/state.rs:54
↓ 24 callersMethodalloca_over_align
Get the over-alignment requirement for an alloca (> 16 bytes), or None.
src/backend/state.rs:321
↓ 24 callersFunctionbool_to_i64
(b: bool)
src/common/const_arith.rs:37
↓ 24 callersFunctionbytes_to_str
(bytes: &[u8], start: usize, end: usize)
src/frontend/preprocessor/utils.rs:39
↓ 24 callersMethodemit_load_operand
---- Standard trait methods (kept inline - arch-specific) ----
src/backend/arm/codegen/emit.rs:1825
↓ 24 callersFunctionmake_f128_zero
(negative: bool)
src/common/long_double.rs:871
↓ 24 callersFunctionneon_arr_to_q_size
Get Q bit and size from arrangement specifier.
src/backend/arm/assembler/encoder/neon.rs:44
↓ 24 callersMethodpeek_op
Check if the next token matches a given operator string
src/frontend/preprocessor/conditionals.rs:477
↓ 24 callersFunctionwidened_op_type
Return the operation type for widened integer arithmetic. On LP64 (64-bit), all integer operations are widened to I64 (the machine word). On ILP32 (i6
src/common/types.rs:64
↓ 23 callersMethodadjust_rip_reloc_addend
Adjust a RIP-relative relocation's addend to account for immediate bytes that follow the displacement field in the instruction encoding. In x86-64, R
src/backend/x86/assembler/encoder/core.rs:257
↓ 23 callersMethodbinding
(&self)
src/backend/i686/linker/types.rs:124
↓ 23 callersMethodctype_size
(&self, ctype: &CType)
src/ir/lowering/pointer_analysis.rs:250
↓ 23 callersMethodencode_bmi2_shift
Encode BMI2 3-operand GPR instructions (shrxq, shlxq, sarxq, etc.). AT&T syntax: `shrxq %src_shift, %r/m, %dst` ops[0] = shift count register → VEX.v
src/backend/x86/assembler/encoder/avx.rs:1343
↓ 23 callersMethodinfer_expr_ctype
Infer the CType of an expression. Returns `Some(CType)` when the type can be determined from sema state, `None` when the type depends on lowering-spe
src/frontend/sema/type_checker.rs:80
↓ 23 callersMethodinsert_builtin_sig
Seed known libc math function signatures for correct calling convention. Without these, calls like atanf(1) would pass integer args in %rdi instead of
src/ir/lowering/types_seed.rs:217
↓ 23 callersMethodload_complex_imag
Load the imaginary part of a complex value from a pointer.
src/ir/lowering/complex.rs:125
↓ 23 callersMethodnext_label_id
(&mut self)
src/backend/state.rs:254
↓ 23 callersMethodstruct_layout_from_ctype
Get struct layout from a CType (struct or union). Prefers cached layout from struct_layouts when available.
src/ir/lowering/structs.rs:828
↓ 22 callersMethodas_label
(&self)
src/ir/instruction.rs:33
↓ 22 callersMethodfield_offset
Look up a field by name, returning its offset and a clone of its type. Recursively searches anonymous struct/union members.
src/common/types.rs:1097
↓ 22 callersMethodis_local
(&self)
src/backend/linker_common/types.rs:47
↓ 22 callersFunctionmake_x87_zero
(negative: bool)
src/common/long_double.rs:521
↓ 22 callersMethodsize
(&self)
src/backend/arm/linker/types.rs:47
↓ 22 callersMethodsize_ctx
Size in bytes, with struct/union layout lookup via context. Uses the thread-local target pointer size for target-dependent types (Long, Pointer, LongD
src/common/types.rs:1301
↓ 22 callersMethodstore_x0_to
Store x0 to a value's destination (register or stack slot).
src/backend/arm/codegen/emit.rs:1057
← previousnext →101–200 of 6,057, ranked by callers