MCPcopy Create free account

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

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

↓ 4 callersFunctiongsf_invalidate_reg
Invalidate all slot mappings backed by a specific register.
src/backend/riscv/codegen/peephole.rs:736
↓ 4 callersFunctionhas_implicit_reg_usage
Check if an instruction has implicit register usage that makes register substitution unsafe (div/idiv/mul use rax/rdx, shifts use cl, etc.).
src/backend/x86/codegen/peephole/passes/helpers.rs:95
↓ 4 callersMethodintern_char16_string_literal
Intern a char16_t string literal (u"...") and return its label. Each character is stored as a u16 (char16_t), plus a null terminator.
src/ir/lowering/lower.rs:1078
↓ 4 callersMethodintern_wide_string_literal
Intern a wide string literal (L"...") and return its label. Each character is stored as a u32 (wchar_t), plus a null terminator.
src/ir/lowering/lower.rs:1067
↓ 4 callersMethodis_arithmetic
Whether this is an arithmetic type (integer, floating-point, or complex).
src/common/types.rs:1421
↓ 4 callersMethodis_atomic_wide
Check if a type requires 64-bit atomic handling on i686 (needs cmpxchg8b).
src/backend/i686/codegen/emit.rs:621
↓ 4 callersFunctionis_callee_saved_reg
Check if a register family ID is callee-saved (rbx=3, r12=12, r13=13, r14=14, r15=15).
src/backend/x86/codegen/peephole/passes/helpers.rs:17
↓ 4 callersMethodis_comparison
Returns true for comparison operators (==, !=, <, <=, >, >=, &&, ||).
src/frontend/parser/ast.rs:779
↓ 4 callersFunctionis_control_reg
Is this a control register?
src/backend/i686/assembler/encoder/registers.rs:37
↓ 4 callersMethodis_dynamic
(&self)
src/backend/arm/linker/types.rs:43
↓ 4 callersMethodis_error_attr
(&self)
src/frontend/parser/ast.rs:394
↓ 4 callersFunctionis_generic_gp_constraint
Returns true if the constraint string (after stripping `=`, `+`, `&`) contains a generic GP register class character that could cause the scratch allo
src/backend/stack_layout/inline_asm.rs:126
↓ 4 callersMethodis_i128_value
(&self, v: u32)
src/backend/state.rs:340
↓ 4 callersFunctionis_ident_char
(b: u8)
src/backend/peephole_common.rs:18
↓ 4 callersMethodis_inf
(&self)
src/common/long_double.rs:564
↓ 4 callersMethodis_naked
(&self)
src/frontend/parser/ast.rs:89
↓ 4 callersFunctionis_near_epilogue
Check if a LoadRbp at position `pos` is part of the function epilogue. The epilogue pattern is: callee-save restores, then `movq %rbp, %rsp; popq %rbp
src/backend/x86/codegen/peephole/passes/helpers.rs:222
↓ 4 callersFunctionis_reg16
Is this a 16-bit GP register?
src/backend/x86/assembler/encoder/registers.rs:110
↓ 4 callersFunctionis_reg32
Is this a 32-bit GP register?
src/backend/x86/assembler/encoder/registers.rs:104
↓ 4 callersMethodis_riscv
Returns true if the target is RISC-V 64. RISC-V stores full IEEE binary128 long doubles in memory.
src/ir/lowering/lower.rs:243
↓ 4 callersMethodis_thread_local
(&self)
src/frontend/parser/ast.rs:244
↓ 4 callersMethodis_transparent_union
Check if a TypeSpecifier is a transparent union (passed as first member for ABI).
src/ir/lowering/types.rs:59
↓ 4 callersMethodis_type_struct_or_union
Check if a TypeSpecifier resolves to a struct or union type (through typedefs).
src/ir/lowering/types.rs:53
↓ 4 callersMethodis_wide_value
Check if a value is a "wide" type on 32-bit targets (F64, I64, U64). These need multi-word copy handling instead of the 32-bit accumulator path.
src/backend/state.rs:355
↓ 4 callersFunctionlink_builtin
Link AArch64 object files into an ELF executable (pre-resolved CRT/library variant). Supports both static and dynamic linking. When `is_static` is fa
src/backend/arm/linker/link.rs:27
↓ 4 callersFunctionlink_shared
Create a shared library (.so) from object files.
src/backend/arm/linker/link.rs:257
↓ 4 callersMethodload_instr_for_type_impl
(&self, ty: IrType)
src/backend/arm/codegen/prologue.rs:328
↓ 4 callersMethodlong_double_bytes
Get the raw f128 bytes from a LongDouble constant.
src/ir/constants.rs:208
↓ 4 callersMethodlower_global_init
Lower a global initializer to a GlobalInit value. This is the main dispatch: expressions go to `lower_global_init_expr`, initializer lists go to `low
src/ir/lowering/global_init.rs:44
↓ 4 callersMethodlower_local_decl
(&mut self, decl: &Declaration)
src/ir/lowering/stmt.rs:80
↓ 4 callersMethodmov_store_for_type
Return the store mnemonic for a given type.
src/backend/i686/codegen/emit.rs:417
↓ 4 callersMethodneeds_got_for_addr
Returns true if taking the address of a symbol requires GOT indirection. Unlike needs_got(), this returns true for external symbols even in non-PIC mo
src/backend/state.rs:399
↓ 4 callersMethodnewline
(&mut self)
src/backend/common.rs:1055
↓ 4 callersMethodnext_anon_struct_id
Get the next anonymous struct/union ID for CType key generation. Safe to call from &self contexts (uses Cell for interior mutability).
src/frontend/sema/type_context.rs:343
↓ 4 callersFunctionnext_reads_carry_flag
Check if the next instruction reads the carry flag (CF). Instructions like `adcl`, `sbbl`, `rcl`, `rcr` depend on CF. `incl`/`decl` do NOT set CF (unl
src/backend/i686/codegen/peephole.rs:603
↓ 4 callersFunctionparse_archive
Parse a .a static archive and return all ELF .o members.
src/backend/riscv/linker/elf_read.rs:39
↓ 4 callersMethodparse_asm_and_attributes
Parse __asm__("..."), __attribute__(...), and __extension__ after declarators. Returns (is_constructor, is_destructor, mode_kind, is_common, aligned_v
src/frontend/parser/parse.rs:906
↓ 4 callersFunctionparse_data_values
Parse data values (integers or symbol references).
src/backend/x86/assembler/parser.rs:1443
↓ 4 callersFunctionparse_data_values
Parse a comma-separated list of data values for .byte/.short/.long/.quad. Each value can be an integer, a symbol reference, or a symbol difference.
src/backend/riscv/assembler/parser.rs:596
↓ 4 callersMethodparse_declarator_with_attrs
Parse a declarator, also returning attribute info: (name, derived, mode_kind, has_common, aligned_value, is_packed)
src/frontend/parser/declarators.rs:43
↓ 4 callersMethodparse_initializer
Parse an initializer: either a braced initializer list or a single expression.
src/frontend/parser/declarations.rs:800
↓ 4 callersFunctionparse_numeric_label_ref
Check if a symbol reference is a GNU numeric label reference (e.g., "1b", "1f", "42b"). Returns Some((label_name, is_backward)) if it is, None otherwi
src/backend/riscv/assembler/elf_writer.rs:91
↓ 4 callersMethodparse_unary
(&mut self)
src/frontend/preprocessor/conditionals.rs:730
↓ 4 callersFunctionpatch_i_type
Patch an I-type instruction with a 12-bit immediate.
src/backend/riscv/linker/relocations.rs:76
↓ 4 callersFunctionpatch_s_type
Patch an S-type instruction with a 12-bit immediate.
src/backend/riscv/linker/relocations.rs:87
↓ 4 callersMethodpop_scope
Pop the top scope frame from both TypeContext and FunctionBuildState, undoing all scoped changes made in that scope. Emits cleanup function calls for
src/ir/lowering/lower.rs:364
↓ 4 callersMethodprocess_directive
Process a preprocessor directive line. Returns Some(content) if an #include was processed and should be inserted. `line_num` is the 1-based source lin
src/frontend/preprocessor/pipeline.rs:782
↓ 4 callersMethodprocess_force_includes
Process force-included files (-include flag) through the preprocessor before the main source. Matches GCC's behavior: `-include file` acts as if `#inc
src/driver/pipeline.rs:872
↓ 4 callersFunctionpromote_sub_int
(val: IrConst, is_unsigned: bool)
src/common/const_eval.rs:273
↓ 4 callersMethodpush_le_bytes
Convert to bytes in little-endian format, pushing onto a byte buffer. Writes `size` bytes for integer types, or full float representation for floats.
src/ir/constants.rs:377
↓ 4 callersMethodpush_scope
Push a new scope frame onto both TypeContext and FunctionBuildState scope stacks. Call this at the start of a compound statement or function body.
src/ir/lowering/lower.rs:355
↓ 4 callersFunctionread_c_source_file
Read a C source file, tolerating non-UTF-8 content. Valid UTF-8 files are returned as-is. Non-UTF-8 bytes are encoded as PUA code points which the lex
src/frontend/preprocessor/includes.rs:214
↓ 4 callersFunctionread_i64
(data: &[u8], offset: usize)
src/backend/elf/io.rs:39
↓ 4 callersFunctionread_uleb128
(data: &[u8], mut off: usize)
src/backend/linker_common/eh_frame.rs:366
↓ 4 callersFunctionregister_family
Get the register family (0-15) for an x86 register name.
src/backend/x86/codegen/peephole/types.rs:1029
↓ 4 callersFunctionreplace_reg_family
Replace all register-family occurrences of `old_family` with `new_family` in `line`. Handles all register sizes: 64-bit (%rax), 32-bit (%eax), 16-bit
src/backend/x86/codegen/peephole/passes/helpers.rs:34
↓ 4 callersFunctionresolve_anonymous_member
Resolve an anonymous member during struct initialization. When a designator like `.x` targets a field inside an anonymous struct/union member, this f
src/ir/lowering/global_init_helpers.rs:242
↓ 4 callersMethodresolve_defined_in_expr
Replace `defined(X)`, `defined X`, `__has_builtin(X)`, `__has_attribute(X)`, `__has_feature(X)`, `__has_extension(X)`, `__has_include(X)`, and `__has_
src/frontend/preprocessor/expr_eval.rs:101
↓ 4 callersMethodresolve_member_access
Resolve member access: returns (byte_offset, ir_type_of_field). Works for both direct (s.field) and pointer (p->field) access.
src/ir/lowering/structs.rs:618
↓ 4 callersFunctionresolve_numeric_data_values
Resolve numeric label references in data values (.long, .quad, .byte directives).
src/backend/elf/numeric_labels.rs:172
↓ 4 callersMethodresolve_pointer_member_access
Resolve pointer member access (p->field): returns (byte_offset, ir_type_of_field).
src/ir/lowering/structs.rs:623
↓ 4 callersFunctionresolve_set_expr
Resolve symbols in a .set expression string. Uses whole-word matching to avoid replacing substrings inside identifiers, register names, or instruction
src/backend/x86/assembler/parser.rs:2063
↓ 4 callersMethodresolve_type_spec_to_ctype
Convert a TypeSpecifier to a CType. This default implementation handles all shared cases (22 primitive types, Pointer, Array, FunctionPointer, Typeof
src/common/type_builder.rs:60
↓ 4 callersMethodresolve_typedef_ctype
Resolve a TypeSpecifier to its underlying CType for typedef/typeof, returning None for non-typedef/typeof specifiers. This is a lightweight lookup (no
src/ir/lowering/types.rs:37
↓ 4 callersFunctionresolve_value_to_const_in_block
Look through Copy, Phi, Cmp, and Select instructions in a block to resolve a Value to a constant. This allows constant branch/switch folding to see th
src/passes/cfg_simplify.rs:1027
↓ 4 callersFunctionrewrite_data_values
Rewrite a list of DataValues, collecting any dot labels needed.
src/backend/riscv/assembler/elf_writer.rs:378
↓ 4 callersFunctionrun_regalloc_and_merge_clobbers
Run register allocation and merge ASM-clobbered callee-saved registers. This shared helper eliminates duplicated regalloc setup boilerplate across al
src/backend/stack_layout/regalloc_helpers.rs:23
↓ 4 callersMethodscale_index
Multiply an index value by a scale factor (for pointer arithmetic).
src/ir/lowering/expr_ops.rs:184
↓ 4 callersMethodset_elf_class
Set the ELF class (ELFCLASS32 or ELFCLASS64).
src/backend/riscv/assembler/elf_writer.rs:446
↓ 4 callersMethodset_filename
Set the filename for __FILE__ and __BASE_FILE__ macros and set as the base include directory.
src/frontend/preprocessor/pipeline.rs:614
↓ 4 callersMethodset_symbol_size
Record .size for a symbol. If `current_minus_label` is Some, computes `current_offset - label_offset` in the same section. Otherwise uses the absolute
src/backend/elf/writer_base.rs:395
↓ 4 callersMethodset_target
Set the target architecture, updating predefined macros and include paths.
src/frontend/preprocessor/predefined_macros.rs:425
↓ 4 callersMethodset_transparent_union
(&mut self, v: bool)
src/frontend/parser/ast.rs:257
↓ 4 callersMethodset_visibility
Record symbol visibility (.hidden, .protected, .internal).
src/backend/elf/writer_base.rs:384
↓ 4 callersFunctionsign_extend_li
Sign-extend a value from `bits` width to i64.
src/backend/riscv/assembler/encoder/pseudo.rs:18
↓ 4 callersMethodsizeof_operand_is_pointer_like
Check if an expression is pointer-like for sizeof computation. Arrays decay to pointers in expression context, so both pointers and arrays produce poi
src/ir/lowering/expr_sizeof.rs:212
↓ 4 callersFunctionskip_literal_bytes
Skip past a string or character literal in a byte slice, starting at position `i`. Returns the position after the closing quote. Handles backslash esc
src/frontend/preprocessor/utils.rs:46
↓ 4 callersMethodstack_bytes
Returns the stack space consumed by this argument (0 if register).
src/backend/call_abi.rs:70
↓ 4 callersMethodstore_lvalue_typed
Store a value to an lvalue with a specific type.
src/ir/lowering/lvalue.rs:186
↓ 4 callersMethodstore_x0_x1_to
Store x0 (low) : x1 (high) to a 128-bit value's stack slot.
src/backend/arm/codegen/emit.rs:1132
↓ 4 callersFunctionstrip_outer_parens
Strip balanced outer parentheses from an expression. E.g. "((1b) - .)" -> "(1b) - ." -> calls recursively until no outer parens.
src/backend/riscv/assembler/parser.rs:615
↓ 4 callersFunctionstrip_sym_parens
Strip outer parentheses from a symbol name. E.g. "(1b)" -> "1b".
src/backend/x86/assembler/parser.rs:1419
↓ 4 callersMethodstruct_init_has_addr_fields
Check if a struct initializer contains fields needing address relocations.
src/ir/lowering/global_init.rs:1270
↓ 4 callersMethodswitch_to_standard_section
Switch to a named standard section (.text, .data, .bss, .rodata).
src/backend/elf/writer_base.rs:217
↓ 4 callersMethodsym_type
(&self)
src/backend/linker_common/types.rs:42
↓ 4 callersFunctionsysreg_encoding
Compute sysreg encoding from (op0, op1, CRn, CRm, op2) fields.
src/backend/arm/assembler/encoder/system.rs:184
↓ 4 callersFunctiontrace_operand_to_const
Recursively trace an operand to find a compile-time constant integer value. Handles Load/Store/Copy/Cast chains as well as BinOp and Cmp with constant
src/passes/inline.rs:769
↓ 4 callersFunctiontry_fold
(inst: &Instruction)
src/passes/constant_fold.rs:151
↓ 4 callersFunctiontry_narrow_operand
Try to narrow an operand from I64 to a target type. Returns the narrowed operand if possible, None otherwise. Checks (in order): (a) If load_type_map
src/passes/narrow.rs:475
↓ 4 callersMethodtype_suffix
Return the type suffix for an operation.
src/backend/i686/codegen/emit.rs:439
↓ 4 callersMethodtypedef_alignment_for_type_spec
Return the typedef alignment override for a type specifier, if any. For `TypeSpecifier::TypedefName("foo")`, looks up `foo` in `typedef_alignments`.
src/ir/lowering/types.rs:496
↓ 4 callersMethodwrite_complex_field_to_bytes
Write a complex field ({real, imag} pair) to a byte buffer. Evaluates the initializer as a complex constant expression and writes both components at t
src/ir/lowering/global_init_bytes.rs:1297
↓ 4 callersFunctionwrite_i32_le
(data: &mut [u8], off: usize, val: i32)
src/backend/linker_common/eh_frame.rs:361
↓ 4 callersFunctionwrite_u64_fast
(buf: &mut String, val: u64)
src/backend/common.rs:782
↓ 4 callersFunctionx87_cmp
Compare two x87 80-bit extended precision values. Returns: -1 if a < b, 0 if a == b, 1 if a > b, i32::MIN if unordered (NaN).
src/common/long_double.rs:1863
↓ 4 callersFunctionx87_div
Divide two x87 80-bit extended precision values with full precision.
src/common/long_double.rs:1184
↓ 4 callersFunctionx87_sub
Subtract two x87 80-bit extended precision values with full precision.
src/common/long_double.rs:1174
↓ 4 callersFunctionxreg_name
Return the x-register name for a given ID.
src/backend/arm/codegen/peephole.rs:113
↓ 3 callersMethodadd_include_path
Add a -I include path from command line.
src/driver/cli.rs:715
↓ 3 callersMethodalignof_expr
Compute alignof for an expression by inferring its type and returning the type's alignment. This implements GCC's __alignof__(expr) semantics. Per C1
src/ir/lowering/expr_sizeof.rs:417
← previousnext →901–1,000 of 6,057, ranked by callers