MCPcopy Create free account

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

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

↓ 5 callersMethodemit_sext32_if_needed
Emit sign-extension from 32-bit to 64-bit register if the type is signed. Used after 32-bit ALU operations on callee-saved registers.
src/backend/x86/codegen/emit.rs:286
↓ 5 callersFunctionemit_store_default
Default store implementation: 3-way SlotAddr dispatch for i128 and typed stores. Backends that override `emit_store` should call this for types they d
src/backend/traits.rs:1457
↓ 5 callersMethodemit_sub_sp
Emit a large immediate subtraction from sp. Uses x17 (IP1) as scratch.
src/backend/arm/codegen/emit.rs:637
↓ 5 callersFunctionemit_u64_as_long_pair
(out: &mut AsmOutput, bits: u64)
src/backend/common.rs:1577
↓ 5 callersMethodemit_x86_atomic_op_loop
Emit a cmpxchg-based loop for atomic sub/and/or/xor/nand. Expects: rax = operand val, rcx = ptr address. After: rax = old value.
src/backend/x86/codegen/emit.rs:788
↓ 5 callersFunctionencode_fp_arith
(operands: &[Operand], funct7: u32)
src/backend/riscv/assembler/encoder/float.rs:61
↓ 5 callersFunctionencode_ldr_str
(operands: &[Operand], is_load: bool, size: u32, is_signed: bool, is_128bit: bool)
src/backend/arm/assembler/encoder/load_store.rs:33
↓ 5 callersFunctionencode_li_32bit
Emit lui + addiw (or just addi) for a 32-bit signed value into register `rd`. On RV64, the `li` pseudo-instruction uses `lui + addiw` (not `lui + add
src/backend/riscv/assembler/encoder/pseudo.rs:29
↓ 5 callersFunctionencode_logical
(operands: &[Operand], opc: u32)
src/backend/arm/assembler/encoder/data_processing.rs:455
↓ 5 callersMethodencode_mov
(&mut self, ops: &[Operand], size: u8)
src/backend/x86/assembler/encoder/gp_integer.rs:6
↓ 5 callersFunctionencode_neon_cmp_zero
Encode NEON compare-to-zero: CMEQ Vd, Vn, #0, CMGE Vd, Vn, #0, etc. Format: 0 Q U 01110 size 10000 opcode 10 Rn Rd
src/backend/arm/assembler/encoder/neon.rs:189
↓ 5 callersFunctionencode_neon_elem
── NEON by-element (non-long) ─────────────────────────────────────────── MUL/MLA/MLS by element: 0 Q U 01111 size L M Rm opcode H 0 Rn Rd
src/backend/arm/assembler/encoder/neon.rs:1591
↓ 5 callersFunctionencode_neon_float_cmp_zero
── NEON float compare-to-zero ─────────────────────────────────────────── FCMEQ/FCMLE/FCMLT/FCMGE/FCMGT to zero Format: 0 Q U 01110 size 10000 opcode
src/backend/arm/assembler/encoder/neon.rs:1576
↓ 5 callersFunctionencode_s
S-type: imm[11:5] | rs2[24:20] | rs1[19:15] | funct3[14:12] | imm[4:0] | opcode[6:0]
src/backend/riscv/assembler/encoder/mod.rs:286
↓ 5 callersMethodencode_sse_cvt_xmm_to_gp
(&mut self, ops: &[Operand], opcode: &[u8])
src/backend/i686/assembler/encoder/sse.rs:138
↓ 5 callersFunctionencode_u
U-type: imm[31:12] | rd[11:7] | opcode[6:0]
src/backend/riscv/assembler/encoder/mod.rs:305
↓ 5 callersFunctionencode_v_arith_vv
Encode vector arithmetic VV (vector-vector): funct6[31:26] | vm[25] | vs2[24:20] | vs1[19:15] | funct3[14:12]=000 | vd[11:7] | OP_V
src/backend/riscv/assembler/encoder/vector.rs:123
↓ 5 callersFunctionencode_vload
Encode vector unit-stride load: vle{8,16,32,64}.v vd, (rs1) Format: nf[31:29] | mew[28] | mop[27:26]=00 | vm[25] | lumop[24:20] | rs1[19:15] | width[1
src/backend/riscv/assembler/encoder/vector.rs:81
↓ 5 callersFunctionencode_vstore
Encode vector unit-stride store: vse{8,16,32,64}.v vs3, (rs1) Format: nf[31:29] | mew[28] | mop[27:26]=00 | vm[25] | sumop[24:20] | rs1[19:15] | width
src/backend/riscv/assembler/encoder/vector.rs:104
↓ 5 callersFunctionencode_zbb_unary
Encode a Zbb unary instruction (clz, ctz, cpop, sext.b, sext.h, rev8). These are I-type with funct3=001 and the 12-bit immediate encoding the operatio
src/backend/riscv/assembler/encoder/base.rs:294
↓ 5 callersMethodensure_section
Ensure a section exists. If it doesn't, create it with the given properties.
src/backend/elf/writer_base.rs:85
↓ 5 callersMethodensure_text_section
Ensure we're in a text section, creating one if needed.
src/backend/elf/writer_base.rs:167
↓ 5 callersMethodeval_const_expr
Try to evaluate a constant expression at compile time. Returns `Some(IrConst)` for expressions that can be fully evaluated using sema state. Returns
src/frontend/sema/const_eval.rs:76
↓ 5 callersMethodeval_i64
Evaluate this binary operation on two i64 operands using wrapping arithmetic. Signed operations use Rust's native i64 arithmetic. Unsigned operations
src/ir/ops.rs:72
↓ 5 callersMethodeval_string_literal_addr_expr
Evaluate a string literal address expression for static initializers. Handles: `"hello"`, `"hello" + 2`, `"hello" - 1`, `(type*)"hello"`, `&"hello"[2]
src/ir/lowering/global_init.rs:1068
↓ 5 callersMethodf128_alloca_aligned_addr
(&mut self, slot: StackSlot, val_id: u32)
src/backend/arm/codegen/f128.rs:74
↓ 5 callersMethodf128_resolve_slot_addr
(&self, val_id: u32)
src/backend/arm/codegen/f128.rs:37
↓ 5 callersMethodf128_store_acc_to_dest
(&mut self, dest: &Value)
src/backend/arm/codegen/f128.rs:194
↓ 5 callersMethodfill_composite_or_array_with_ptrs
Fill a struct/union/array field into byte buffer + ptr_ranges, choosing the pointer-aware path or plain byte path based on whether the type contains p
src/ir/lowering/global_init_compound_ptrs.rs:784
↓ 5 callersMethodget_member_layout
Look up the struct layout for a member access expression. For direct access (s.field), gets the layout of the base expression. For pointer access (p->
src/ir/lowering/structs.rs:608
↓ 5 callersMethodhas_pointer_fields
Check if any field in this layout is or contains a pointer/function type. Recursively checks array element types and nested struct/union fields.
src/common/types.rs:685
↓ 5 callersFunctioninfer_operand_size_from_pair
Infer operand size from a pair of operands for suffix-less instructions.
src/backend/x86/assembler/encoder/registers.rs:244
↓ 5 callersMethodinsert_local_scoped
Insert a local variable, tracking the change in the current scope frame.
src/ir/lowering/lower.rs:435
↓ 5 callersFunctioninvalidate_reg_flat
Remove all slot mappings backed by a given register (flat array version).
src/backend/x86/codegen/peephole/passes/store_forwarding.rs:155
↓ 5 callersMethodis_32bit
Returns true if this is a 32-bit pointer directive.
src/backend/common.rs:1096
↓ 5 callersMethodis_barrier
(self)
src/backend/x86/codegen/peephole/types.rs:164
↓ 5 callersMethodis_bool_lvalue
Check if an lvalue expression targets a _Bool variable (requires normalization). Handles direct identifiers, pointer dereferences (*pval), array subsc
src/ir/lowering/pointer_analysis.rs:96
↓ 5 callersMethodis_fastcall
(&self)
src/frontend/parser/ast.rs:88
↓ 5 callersFunctionis_fp_reg
Check if a register is a floating-point/SIMD register.
src/backend/arm/assembler/encoder/mod.rs:163
↓ 5 callersMethodis_function_pointer
Whether this is a function pointer type: Pointer(Function(_)).
src/common/types.rs:1649
↓ 5 callersMethodis_gnu_inline
(&self)
src/frontend/parser/ast.rs:81
↓ 5 callersFunctionis_linker_defined_symbol
Check whether a symbol name is one that the linker provides during layout. This includes the static list of well-known linker symbols, plus the GNU l
src/backend/linker_common/symbols.rs:99
↓ 5 callersFunctionis_mm
Is this an MM (MMX) register?
src/backend/i686/assembler/encoder/registers.rs:58
↓ 5 callersFunctionis_segment_reg
Is this a segment register?
src/backend/x86/assembler/encoder/registers.rs:34
↓ 5 callersMethodlex_escape_char
(&mut self)
src/frontend/lexer/scan.rs:815
↓ 5 callersFunctionline_references_reg
Check if a line references a specific register family. This includes both explicit register operands and implicit register uses by instructions like c
src/backend/i686/codegen/peephole.rs:292
↓ 5 callersMethodload_through_ptr
Load a value through a pointer operand.
src/ir/lowering/expr_atomics.rs:344
↓ 5 callersMethodload_va_list_addr_to_edx
Load the address of va_list storage into %edx. va_list_ptr is an IR value that holds a pointer to the va_list storage. - If va_list_ptr is an alloca
src/backend/i686/codegen/emit.rs:208
↓ 5 callersMethodlower_init_expr_bool_aware
Lower an init expression with bool-aware handling. For bool targets, normalizes to 0/1. For other types, casts to target_ty.
src/ir/lowering/stmt.rs:1064
↓ 5 callersFunctionmake_float_const
Create a float constant of the appropriate type from an f64 value.
src/passes/constant_fold.rs:464
↓ 5 callersMethodmark_direct_escaped
Mark a direct value as escaped (for va_list ptrs etc).
src/backend/stack_layout/alloca_coalescing.rs:98
↓ 5 callersMethodoperand_reg
Get the callee-saved register assigned to an operand, if any.
src/backend/x86/codegen/emit.rs:272
↓ 5 callersFunctionparse_define
Parse a #define directive line and return a MacroDef. The line should be the text after `#define ` (with leading whitespace stripped). Operates on byt
src/frontend/preprocessor/macro_defs.rs:1332
↓ 5 callersFunctionparse_dotl_number
(s: &str)
src/backend/x86/codegen/peephole/passes/helpers.rs:184
↓ 5 callersFunctionparse_memory_inner
Parse memory operand inner part: `offset(%base, %index, scale)`.
src/backend/x86/assembler/parser.rs:1115
↓ 5 callersFunctionparse_object
(data: &[u8], source_name: &str)
src/backend/riscv/linker/elf_read.rs:34
↓ 5 callersMethodparse_shift
(&mut self)
src/frontend/preprocessor/conditionals.rs:630
↓ 5 callersMethodparse_string_attr_arg
Parse a parenthesized string argument: ("string1" "string2"...). Returns Some(concatenated) if non-empty, None otherwise.
src/frontend/parser/parse.rs:795
↓ 5 callersMethodparsing_constructor
(&self)
src/frontend/parser/parse.rs:157
↓ 5 callersMethodparsing_destructor
(&self)
src/frontend/parser/parse.rs:158
↓ 5 callersMethodparsing_error_attr
(&self)
src/frontend/parser/parse.rs:165
↓ 5 callersMethodparsing_extern
(&self)
src/frontend/parser/parse.rs:152
↓ 5 callersMethodparsing_fastcall
(&self)
src/frontend/parser/parse.rs:167
↓ 5 callersMethodparsing_static
(&self)
src/frontend/parser/parse.rs:151
↓ 5 callersMethodparsing_thread_local
(&self)
src/frontend/parser/parse.rs:153
↓ 5 callersMethodparsing_used
(&self)
src/frontend/parser/parse.rs:160
↓ 5 callersMethodparsing_volatile
(&self)
src/frontend/parser/parse.rs:156
↓ 5 callersMethodparsing_weak
(&self)
src/frontend/parser/parse.rs:159
↓ 5 callersMethodpeek
(&self)
src/frontend/preprocessor/conditionals.rs:464
↓ 5 callersMethodpreprocess
Process source code, expanding macros and handling conditionals. Returns the preprocessed source with embedded line markers for source tracking.
src/frontend/preprocessor/pipeline.rs:159
↓ 5 callersFunctionpropagate_copies
Propagate copies within a single function.
src/passes/copy_prop.rs:35
↓ 5 callersFunctionranges_overlap
(a: i32, a_size: i32, b: i32, b_size: i32)
src/backend/x86/codegen/peephole/types.rs:721
↓ 5 callersMethodreal_to_complex
Create a complex value from a real scalar (real part = scalar, imag = 0).
src/ir/lowering/complex.rs:369
↓ 5 callersFunctionregister_family_no_prefix
(name: &str)
src/backend/x86/codegen/peephole/passes/loop_trampoline.rs:35
↓ 5 callersFunctionremap_offset
Remap an offset from old to new using the offset map. If the exact offset is in the map, returns the new offset. Otherwise, interpolates based on the
src/backend/riscv/assembler/compress.rs:705
↓ 5 callersFunctionresolve_archive_members
Resolve archive members: iteratively pull in members that define currently-undefined symbols.
src/backend/riscv/linker/relocations.rs:588
↓ 5 callersMethodresolve_generic_selection_ctype
Resolve the CType of a _Generic selection expression.
src/ir/lowering/expr_types.rs:648
↓ 5 callersMethodresolve_numeric_label
(&self, symbol: &str, reloc_offset: u64, sec_idx: usize)
src/backend/elf_writer_common.rs:1302
↓ 5 callersFunctionresolve_numeric_ref_name
Resolve a numeric label reference like "1b" or "2f" to a synthetic label name.
src/backend/riscv/assembler/elf_writer.rs:207
↓ 5 callersMethodresolve_param_slot
Resolve param alloca to (slot, type) for parameter `i`.
src/backend/arm/codegen/emit.rs:1500
↓ 5 callersMethodresolve_root
Resolve a value to its root alloca, if any.
src/backend/stack_layout/alloca_coalescing.rs:61
↓ 5 callersFunctionresolve_start_stop_symbols
Resolve `__start_<section>` and `__stop_<section>` symbols against the output sections. GNU ld auto-generates these symbols when there are undefined
src/backend/linker_common/symbols.rs:136
↓ 5 callersMethodresolve_type_spec
Resolve a TypeSpecifier to a CType using sema's type context. This delegates to the type_builder's shared conversion via TypeConvertContext.
src/frontend/sema/type_checker.rs:566
↓ 5 callersMethodset_constructor
(&mut self, v: bool)
src/frontend/parser/ast.rs:100
↓ 5 callersFunctionset_def
Store a definition in a flat Vec, bounds-checked.
src/passes/simplify.rs:170
↓ 5 callersMethodset_destructor
(&mut self, v: bool)
src/frontend/parser/ast.rs:101
↓ 5 callersMethodskip_array_qualifiers
Skip C99 type qualifiers and 'static' inside array brackets. In C99 function parameter declarations, array dimensions can include: [static restrict co
src/frontend/parser/parse.rs:600
↓ 5 callersMethodstore_bitfield
Store a value into a bitfield: load storage unit, clear field bits, OR in new value, store back. Handles packed bitfields that span beyond the storage
src/ir/lowering/expr_assign.rs:213
↓ 5 callersFunctionstrip_blue_paint
Strip all blue-paint markers from a string. Used when substituting arguments into ## token paste operations, since the pasted result is a new token th
src/frontend/preprocessor/macro_defs.rs:97
↓ 5 callersFunctionstrip_comment
Strip trailing line comment from a single line, respecting string literals. Scans character by character tracking quote state so that comment charact
src/backend/asm_preprocess.rs:94
↓ 5 callersFunctionvaddr_to_file_offset
Convert a virtual address to a file offset using PT_LOAD program headers.
src/backend/linker_common/parse_shared.rs:324
↓ 5 callersMethodvisibility
(&self)
src/backend/linker_common/types.rs:43
↓ 5 callersMethodwiden_to_i64
Zero-extend a narrow value (I8 from Cmp, or I32 from BinOp) to I64. On 32-bit targets (i686), I64 values occupy two 32-bit stack slots; without this c
src/ir/lowering/expr_builtins_fpclass.rs:69
↓ 5 callersMethodzero_init_region
Zero-initialize a region of memory within an alloca at the given byte offset.
src/ir/lowering/lower.rs:1390
↓ 4 callersFunction_mm512_setzero_si512
include/avx512fintrin.h:47
↓ 4 callersFunction_mm_setcsr
Write the MXCSR register */
include/xmmintrin.h:622
↓ 4 callersFunctionallocate_common_symbols_elf64
Allocate SHN_COMMON symbols into the .bss output section.
src/backend/linker_common/merge.rs:126
↓ 4 callersMethodanalyze_declaration
(&mut self, decl: &Declaration, _is_global: bool)
src/frontend/sema/analysis.rs:286
↓ 4 callersMethodapply_options
Apply all relevant options from a `CodegenOptions` struct.
src/backend/arm/codegen/emit.rs:212
↓ 4 callersMethodapply_pending_vector_attr
Consume any pending `__attribute__((vector_size(N)))` or `__attribute__((ext_vector_type(N)))` that was parsed during a type specifier and wrap the gi
src/frontend/parser/expressions.rs:40
← previousnext →701–800 of 6,057, ranked by callers