MCPcopy Create free account

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

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

↓ 6 callersMethodemit_sign_extend_to_rax
(&mut self, ty: IrType)
src/backend/x86/codegen/f128.rs:383
↓ 6 callersMethodemit_typed_load_indirect
(&mut self, instr: &'static str)
src/backend/riscv/codegen/emit.rs:585
↓ 6 callersMethodemit_typed_store_indirect
(&mut self, instr: &'static str, _ty: IrType)
src/backend/riscv/codegen/emit.rs:584
↓ 6 callersMethodemit_zero_extend_to_rax
(&mut self, ty: IrType)
src/backend/x86/codegen/f128.rs:392
↓ 6 callersFunctionencode_add_imm12
(out: &mut [u8], fp: usize, imm12: u32)
src/backend/arm/linker/reloc.rs:519
↓ 6 callersFunctionencode_add_sub
(operands: &[Operand], is_sub: bool, set_flags: bool)
src/backend/arm/assembler/encoder/data_processing.rs:291
↓ 6 callersMethodencode_avx_2op_0f
Encode AVX 2-operand in 0F map (e.g., vmovddup, vmovshdup, vmovsldup) pp: 0=NP, 1=66, 2=F3, 3=F2
src/backend/x86/assembler/encoder/avx.rs:375
↓ 6 callersFunctionencode_branch_instr
(operands: &[Operand], funct3: u32)
src/backend/riscv/assembler/encoder/base.rs:125
↓ 6 callersMethodencode_cmovcc
(&mut self, ops: &[Operand], mnemonic: &str)
src/backend/x86/assembler/encoder/gp_integer.rs:949
↓ 6 callersMethodencode_double_shift
(&mut self, ops: &[Operand], opcode: u8, size: u8)
src/backend/x86/assembler/encoder/gp_integer.rs:836
↓ 6 callersMethodencode_evex_3op
Encode EVEX 3-operand instruction (e.g., vpxord, vpandd, etc.) Operands in AT&T order: src, vvvv, dst
src/backend/x86/assembler/encoder/avx.rs:76
↓ 6 callersFunctionencode_fp_cmp
(operands: &[Operand], funct7: u32, funct3: u32)
src/backend/riscv/assembler/encoder/float.rs:102
↓ 6 callersMethodencode_inc_dec
Encode inc/dec instructions. In 32-bit mode, inc/dec have compact single-byte encodings for 32-bit registers: inc: 0x40+reg, dec: 0x48+reg For memory
src/backend/i686/assembler/encoder/gp_integer.rs:806
↓ 6 callersFunctionencode_ldar_stlr
Encode LDAR/STLR and byte/halfword variants.
src/backend/arm/assembler/encoder/load_store.rs:637
↓ 6 callersFunctionencode_ldaxr_stlxr
Encode LDAXR/STLXR and byte/halfword variants.
src/backend/arm/assembler/encoder/load_store.rs:573
↓ 6 callersFunctionencode_ldxr_stxr
Encode LDXR/STXR and byte/halfword variants. `forced_size`: None = auto-detect from register width, Some(0b00) = byte, Some(0b01) = halfword
src/backend/arm/assembler/encoder/load_store.rs:547
↓ 6 callersMethodencode_movsx
(&mut self, ops: &[Operand], src_size: u8, dst_size: u8)
src/backend/x86/assembler/encoder/gp_integer.rs:250
↓ 6 callersFunctionencode_neon_shift_right
── NEON shift right accumulate (SSRA/USRA/SRSHR/URSHR) ───────────────── Format: 0 Q U 01111 0 immh immb opcode 1 Rn Rd
src/backend/arm/assembler/encoder/neon.rs:1454
↓ 6 callersFunctionencode_neon_zip_uzp
Encode NEON UZP1/UZP2/ZIP1/ZIP2
src/backend/arm/assembler/encoder/neon.rs:1094
↓ 6 callersFunctionencode_v_arith_vi
Encode vector arithmetic VI (vector-immediate): funct6[31:26] | vm[25] | vs2[24:20] | simm5[19:15] | funct3[14:12]=011 | vd[11:7] | OP_V
src/backend/riscv/assembler/encoder/vector.rs:144
↓ 6 callersMethodeval_const_expr
Evaluate a constant expression for array sizes and similar contexts. Delegates to SemaConstEval for the full implementation, unifying const_eval acros
src/frontend/sema/type_checker.rs:690
↓ 6 callersMethodf128_call
(&mut self, name: &str)
src/backend/arm/codegen/f128.rs:109
↓ 6 callersMethodf128_get_slot
(&self, val_id: u32)
src/backend/arm/codegen/f128.rs:29
↓ 6 callersMethodf128_load_from_addr_reg_to_acc
(&mut self, dest: &Value)
src/backend/arm/codegen/f128.rs:231
↓ 6 callersFunctionf128_store_to_addr_reg
Store an F128 value to the address in the addr register (ARM: x17, RISC-V: t5). Three paths: 1. **Constant**: store lo:hi halves directly to addr. 2.
src/backend/f128_softfloat.rs:368
↓ 6 callersMethodfill_nested_struct_with_ptrs
Fill a nested struct's fields into the byte buffer and ptr_ranges, properly handling pointer/function pointer fields that need relocations. This is us
src/ir/lowering/global_init_compound_ptrs.rs:552
↓ 6 callersFunctionfind_top_level_op
Find a comparison operator at the top level (not inside parentheses).
src/backend/asm_preprocess.rs:1100
↓ 6 callersMethodfresh_vn
Assign a fresh value number, returning it.
src/passes/gvn.rs:136
↓ 6 callersMethodget_asm_register
Look up the asm register name for a variable declared with `register <type> <name> __asm__("regname")`. Checks local variables first, then global regi
src/ir/lowering/stmt_asm.rs:598
↓ 6 callersFunctionget_binop_def
Look up a BinOpDef for a Value operand.
src/passes/simplify.rs:1172
↓ 6 callersFunctionget_csr_num
(operands: &[Operand], idx: usize)
src/backend/riscv/assembler/encoder/system.rs:64
↓ 6 callersMethodget_f128_source
(&self, value_id: u32)
src/backend/state.rs:377
↓ 6 callersFunctionget_mem
(operands: &[Operand], idx: usize)
src/backend/riscv/assembler/encoder/mod.rs:407
↓ 6 callersMethodget_offset
(&self, s: &str)
src/backend/i686/linker/mod.rs:45
↓ 6 callersFunctionget_symbol
(operands: &[Operand], idx: usize)
src/backend/arm/assembler/encoder/mod.rs:975
↓ 6 callersFunctionhas_nested_field_designator
Check if an initializer item has a nested field designator (i.e., has 2+ designators with the first being a Field). Used to detect patterns like `.fie
src/ir/lowering/global_init_helpers.rs:29
↓ 6 callersFunctionhoist_loop_invariants
Hoist loop-invariant instructions from a natural loop to a preheader. Returns the number of instructions hoisted.
src/passes/licm.rs:570
↓ 6 callersMethodinsert_struct_layout_scoped_from_ref
Insert a struct layout from a &self context (interior mutability via RefCell), tracking the change in the current scope frame so it can be undone on s
src/frontend/sema/type_context.rs:490
↓ 6 callersMethodis_active
Returns true if code should currently be emitted.
src/frontend/preprocessor/conditionals.rs:38
↓ 6 callersFunctionis_all_ones
Check if an operand is the all-ones bit pattern for the given integer type. All-ones is the identity element for AND and the annihilator for OR. Examp
src/passes/simplify.rs:1054
↓ 6 callersMethodis_arm
Returns true if the target is AArch64. ARM64 stores full IEEE binary128 long doubles in memory.
src/ir/lowering/lower.rs:249
↓ 6 callersMethodis_constructor
(&self)
src/frontend/parser/ast.rs:84
↓ 6 callersMethodis_destructor
(&self)
src/frontend/parser/ast.rs:85
↓ 6 callersMethodis_fastcall_reg_eligible
Check if a param type is eligible for fastcall register passing. Only DWORD-sized or smaller integer/pointer types qualify.
src/backend/i686/codegen/emit.rs:459
↓ 6 callersFunctionis_register
(s: &str)
src/backend/arm/assembler/parser.rs:2270
↓ 6 callersMethodis_special
(&self)
src/common/long_double.rs:563
↓ 6 callersMethodis_typedef
(&self)
src/frontend/parser/ast.rs:240
↓ 6 callersFunctionis_valid_c_identifier_for_section
Check if a string is a valid C identifier (used for __start_/__stop_ section pattern). Also used by RISC-V linker which has different section structur
src/backend/linker_common/symbols.rs:116
↓ 6 callersFunctionis_wide
(ty: IrType)
src/backend/stack_layout/copy_coalescing.rs:256
↓ 6 callersMethodis_zero
Returns true if this constant is zero (integer or float).
src/ir/constants.rs:155
↓ 6 callersFunctionlayout_custom_sections
Layout custom sections with a given flag requirement. Custom sections are those not in the standard set (.text, .rodata, .data, etc.) that have the S
src/backend/i686/linker/emit.rs:1003
↓ 6 callersMethodlower_complex_list_init
Lower a {real, imag} list initializer for a complex field. Stores the real and imaginary parts at dest_addr and dest_addr+comp_size. Also handles "br
src/ir/lowering/stmt.rs:527
↓ 6 callersMethodlower_fp_classify_arg
Helper: get the type of the last argument for fp classification builtins.
src/ir/lowering/expr_builtins_fpclass.rs:23
↓ 6 callersFunctionmake_x87_nan
(negative: bool)
src/common/long_double.rs:537
↓ 6 callersFunctionmnemonic_size_suffix
Get operand size from mnemonic suffix.
src/backend/i686/assembler/encoder/registers.rs:73
↓ 6 callersFunctionnext_non_nop
(infos: &[LineInfo], start: usize, limit: usize)
src/backend/x86/codegen/peephole/types.rs:690
↓ 6 callersMethodoperand_to_callee_reg
Load an operand into a specific callee-saved register. Handles constants, register-allocated values, and stack values.
src/backend/x86/codegen/emit.rs:343
↓ 6 callersFunctionparse_elf64_object
Parse an ELF64 relocatable object file (.o). `expected_machine` is the ELF e_machine value to validate (e.g., EM_X86_64, EM_AARCH64, EM_RISCV). Pass
src/backend/linker_common/parse_object.rs:18
↓ 6 callersFunctionparse_linker_script_entries
Parse a GNU linker script, returning all entries including `-l` library references. This is the full-featured version that callers with library search
src/backend/elf/archive.rs:189
↓ 6 callersFunctionparse_macro_params
Parse macro parameter list, handling `param = default_value` syntax. GAS allows parameters like `enable = 1` where `1` is the default value used when
src/backend/asm_preprocess.rs:451
↓ 6 callersFunctionparse_reloc_modifier
Parse a relocation modifier like %pcrel_hi(symbol) and return (RelocType, symbol)
src/backend/riscv/assembler/encoder/pseudo.rs:583
↓ 6 callersFunctionparse_rm
Parse a rounding mode to 3-bit encoding.
src/backend/riscv/assembler/encoder/mod.rs:430
↓ 6 callersMethodparsing_noreturn
(&self)
src/frontend/parser/parse.rs:164
↓ 6 callersMethodpop_scope
Pop the top type-system scope frame and undo changes to enum_constants, struct_layouts, ctype_cache, and typedefs.
src/frontend/sema/type_context.rs:376
↓ 6 callersMethodpush_scope
Push a new type-system scope frame.
src/frontend/sema/type_context.rs:370
↓ 6 callersFunctionreg_to_16
Convert any x86 register name to its 16-bit variant. Accepts both 64-bit and 32/16/8-bit register names. For `r8`-`r15` (x86-64 only), appends `w` su
src/backend/x86_common.rs:111
↓ 6 callersFunctionregister_symbols_elf64
Register symbols from an object file into the global symbol table. Handles defined symbols, COMMON symbols, and undefined references. For defined sym
src/backend/linker_common/dynamic.rs:196
↓ 6 callersMethodrender_diagnostic
Render a single diagnostic to stderr, including location, severity, message, source snippet with caret, fix-it hints, and any follow-up notes. When c
src/common/error.rs:696
↓ 6 callersFunctionrun
Run interprocedural constant propagation on the module. Returns the number of changes made (call sites replaced, calls eliminated, or parameters spec
src/passes/ipcp.rs:35
↓ 6 callersMethodset_error_attr
(&mut self, v: bool)
src/frontend/parser/ast.rs:405
↓ 6 callersMethodset_naked
(&mut self, v: bool)
src/frontend/parser/ast.rs:105
↓ 6 callersMethodsize
(&self)
src/backend/x86/linker/types.rs:43
↓ 6 callersFunctionsplit_on_semicolons
Split a line on `;` characters, respecting string literals and comments. In GAS syntax, `;` separates multiple statements on the same line. Stops spli
src/backend/asm_preprocess.rs:158
↓ 6 callersFunctionsplit_on_semicolons
Split a line on ';' characters, respecting strings and comments. In GAS syntax, ';' separates multiple statements on the same line. Stops splitting on
src/backend/arm/assembler/parser.rs:1275
↓ 6 callersMethodstore_rax_rdx_to
Store %rax:%rdx (128-bit) to a value's 16-byte stack slot.
src/backend/x86/codegen/emit.rs:714
↓ 6 callersMethodtype_spec_to_ctype
Convert a TypeSpecifier to CType using sema's type resolution.
src/frontend/sema/const_eval.rs:522
↓ 6 callersMethodused_values
Collect all Value IDs used (as operands, not defined) by this instruction.
src/ir/instruction.rs:533
↓ 6 callersFunctionwrap_result
(v: i64, is_32bit: bool)
src/common/const_arith.rs:19
↓ 6 callersMethodwrite_bitfield_to_bytes
Write a bitfield value into a byte buffer at the given offset. Uses read-modify-write to pack the value at the correct bit position.
src/ir/lowering/global_init_bytes.rs:1266
↓ 6 callersFunctionx87_bytes_to_f128_bytes
Convert x87 80-bit bytes `[u8; 16]` to IEEE 754 binary128 bytes (16 bytes, little-endian). Used for ARM64/RISC-V long double emission.
src/common/long_double.rs:681
↓ 6 callersFunctionx87_quiet_nan
Propagate a NaN operand: set the quiet bit and return it.
src/common/long_double.rs:1380
↓ 6 callersFunctionx87_true_exp
Get the true (unbiased) exponent for an x87 value. Denormals (biased_exp=0) have true exponent -16382.
src/common/long_double.rs:1365
↓ 5 callersMethodapply_field_chain_offsets
Apply a chain of field names to a base global+offset, accumulating field offsets. `fields` are in reverse order (outermost field last, innermost first
src/ir/lowering/const_eval_global_addr.rs:860
↓ 5 callersFunctionassert_copy_const_i32
Assert result is a Copy of the given constant.
src/passes/simplify.rs:1677
↓ 5 callersFunctionbinop
Create a BinOp instruction with standard test values.
src/passes/simplify.rs:1649
↓ 5 callersMethodbyte_size
(self)
src/backend/i686/codegen/peephole.rs:82
↓ 5 callersFunctioncc_from_mnemonic
Map condition code suffix to encoding.
src/backend/i686/assembler/encoder/registers.rs:118
↓ 5 callersFunctionclassify_params
Classify all parameters of a function for callee-side store emission. Uses the same `CallAbiConfig` as `classify_call_args` to ensure caller and call
src/backend/call_abi.rs:800
↓ 5 callersMethodcollect_refs_from_initializer
Collect function name references from an initializer.
src/ir/lowering/ref_collection.rs:293
↓ 5 callersFunctioncombine_add_consts
Combine two i64 constants with wrapping addition, truncated to the type's width.
src/passes/simplify.rs:1183
↓ 5 callersFunctioncompiler_main
Shared entry point for all compiler binaries. Spawns the real work on a thread with a large stack so deeply recursive C files don't overflow.
src/lib.rs:12
↓ 5 callersFunctioncompute_signed_magic_64
Compute the magic number for signed 64-bit division by `d`. Returns (magic_number, shift_amount). Based on Hacker's Delight, 2nd edition, adapted for
src/passes/div_by_const.rs:1058
↓ 5 callersMethodcompute_signed_overflow
Compute signed overflow flag for add/sub/mul.
src/ir/lowering/expr_builtins_overflow.rs:380
↓ 5 callersFunctioncount_flat_init_scalars
Count the number of flat scalar initializer values needed to fully initialize one instance of the given type. For scalars and pointers, this is 1. For
src/ir/lowering/global_init_helpers.rs:159
↓ 5 callersMethodemit_add_sp
Emit a large immediate addition to sp. Uses x17 (IP1) as scratch.
src/backend/arm/codegen/emit.rs:648
↓ 5 callersFunctionemit_cast_default
Default cast implementation: handles i128 widening/narrowing/copy, and delegates non-i128 casts to emit_cast_instrs. Backends that override `emit_cast
src/backend/traits.rs:1542
↓ 5 callersMethodemit_load_arg_to_reg
Load an operand into the given destination register, accounting for SP adjustment. When `needs_adjusted_load` is true, values must be loaded from adju
src/backend/arm/codegen/emit.rs:1226
↓ 5 callersFunctionemit_load_default
Default load implementation: 3-way SlotAddr dispatch for i128 and typed loads. Backends that override `emit_load` should call this for types they don'
src/backend/traits.rs:1503
↓ 5 callersFunctionemit_return_default
Default return implementation: loads value, moves to appropriate return register, and emits epilogue. Backends that override `emit_return` should call
src/backend/traits.rs:1640
↓ 5 callersFunctionemit_section_group
Emit all globals matching `target` section, with a section header on first match. If `is_zero` is true, emits as zero-initialized; otherwise as initia
src/backend/common.rs:1328
← previousnext →601–700 of 6,057, ranked by callers