MCPcopy Create free account

hub / github.com/Amanieu/regalloc3 / functions

Functions705 in github.com/Amanieu/regalloc3

↓ 6 callersMethodclear
(&mut self, func: &impl Function)
src/internal/spill_allocator.rs:91
↓ 6 callersMethoddef_value
Handles the definition of a value. This consists of 4 parts: 1) Invalidating any previous mapping for the same value, since those are from the previo
src/internal/move_optimizer.rs:481
↓ 6 callersMethodfind
Returns the leader of the set containing the given key. This takes a mutable reference to self because it performs path compression for improved perf
src/union_find.rs:47
↓ 6 callersMethodindex
(&self, k: K)
src/entity/primary_map.rs:214
↓ 6 callersMethodis_reserved_value
(&self)
src/output.rs:162
↓ 6 callersMethodkeys
(&self)
src/entity/sparse.rs:257
↓ 6 callersMethodlast_mut
(&mut self)
src/entity/primary_map.rs:171
↓ 6 callersMethodnew_value
Defines a new value with randomized properties.
src/debug_utils/generic_function/arbitrary.rs:317
↓ 6 callersMethodnum_spillslots
(&self)
src/output.rs:298
↓ 6 callersMethodregs
(&self)
src/reginfo.rs:433
↓ 6 callersMethodretain
(&mut self, mut keep: F)
src/entity/sparse.rs:289
↓ 6 callersMethodspill
Spills the given virtual register to a spillslot. Any uses which must be in a register are split off into separate virtual registers which only cover
src/internal/allocator/split.rs:1231
↓ 6 callersMethodsub_classes
(&self, class: RegClass)
src/debug_utils/generic_reginfo/mod.rs:203
↓ 6 callersMethodswap_remove
Removes an element from the list at the given index. The removed element is replaced with the last element of the list and the list is shrunk by one
src/entity/compact_list.rs:100
↓ 6 callersMethodvalue
(&self)
src/internal/reg_matrix.rs:54
↓ 6 callersMethodvalue_use
Visits a use of a value.
src/internal/value_live_ranges.rs:773
↓ 6 callersMethodvalues
(&self)
src/entity/sparse.rs:264
↓ 5 callersMethodcfg_postorder
Returns the list of basic blocks in control-flow postorder. The returned iterator only includes basic blocks reachable from an entry point. Use `rev
src/debug_utils/postorder.rs:79
↓ 5 callersMethodcheck_interference
Iterates over all the interference in the current unit.
src/internal/reg_matrix.rs:115
↓ 5 callersMethodclass_spill_cost
(&self, class: RegClass)
src/debug_utils/generic_reginfo/mod.rs:188
↓ 5 callersMethodclobber_unit
Clobbers any existing value on a register that contains the given unit.
src/internal/move_optimizer.rs:461
↓ 5 callersMethodcommon_subclass
(&self, a: RegClass, b: RegClass)
src/reginfo.rs:409
↓ 5 callersMethodcompute
Computes the control-flow post-order.
src/debug_utils/postorder.rs:89
↓ 5 callersMethoddump
Dumps the value live ranges to the log.
src/internal/value_live_ranges.rs:259
↓ 5 callersMethodend_for_fixed_use_reservation
Fixed use reservations only span a single Use in one instruction, so we can save space by only storing the start point and deriving the end point from
src/internal/live_range.rs:123
↓ 5 callersMethodindex
(self)
src/allocation_unit.rs:27
↓ 5 callersMethoditer
(&self)
src/entity/sparse.rs:244
↓ 5 callersMethodlen
(&self)
src/entity/compact_list.rs:55
↓ 5 callersMethodlen
(&self)
src/entity/primary_map.rs:86
↓ 5 callersFunctionparse_entity_list
(pair: Pair<'_, Rule>)
src/debug_utils/generic_reginfo/parse.rs:70
↓ 5 callersMethodround_to_prev_inst
Rounds this point to the previous instruction boundary.
src/internal/live_range.rs:114
↓ 5 callersMethodset_value
Sets the `AllocationUnit` to contain only the given value.
src/debug_utils/checker.rs:104
↓ 5 callersMethodspillslot_layout
(&self, slot: SpillSlot)
src/output.rs:315
↓ 5 callersMethodsplit_at
Splits the live range in the middle at the given point.
src/internal/live_range.rs:199
↓ 5 callersMethodtrailing_zeros
(self)
src/entity/small_set.rs:46
↓ 5 callersFunctionvalidate_reginfo
Checks `reginfo` to ensure it satisfies all of the pre-conditions required by the register allocator.
src/debug_utils/validate_reginfo.rs:16
↓ 5 callersMethodvregs
(self, _virt_regs: &VirtRegs)
src/internal/allocator/mod.rs:113
↓ 5 callersMethodzip_with_reg_group
( self, reg: PhysReg, _virt_regs: &VirtRegs, _reginfo: &impl RegInfo, )
src/internal/allocator/mod.rs:121
↓ 4 callersMethodallocation_order
(&self, class: RegClass)
src/debug_utils/generic_reginfo/mod.rs:193
↓ 4 callersMethodassignments
Returns the mapping of all `VirtReg` to `PhysReg` for which an assignment exists. This does not include any virtual registers that have been spilled.
src/internal/allocator/mod.rs:488
↓ 4 callersMethodblock_is_critical_edge
(&self, block: Block)
src/debug_utils/generic_function/mod.rs:210
↓ 4 callersMethodcheck_fixed
Check for multiple conflicting uses of a fixed register in a single constraint scope.
src/debug_utils/validate_func.rs:169
↓ 4 callersMethodcheck_group_class
Checks that the allocation is the first member of a group in the given register class, and returns the register group it is part of.
src/debug_utils/checker.rs:706
↓ 4 callersMethodcoalesce_values
Attempts to merge the two given values into the same `ValueSet`. Returns whether a merge was performed.
src/internal/coalescing.rs:264
↓ 4 callersMethodcreate_vreg_from_segments
Creates new virtual registers from the given segments.
src/internal/virt_regs/mod.rs:154
↓ 4 callersMethodenqueue
Enqueues an entry into the priority queue.
src/internal/allocator/queue.rs:162
↓ 4 callersMethodget_mut
(&mut self, key: K)
src/entity/sparse.rs:123
↓ 4 callersMethodget_scratch_reg
Returns a scratch `Allocation` in the given `RegClass` which is currently unused. This may return a `SpillSlot` if the register class allows spillslo
src/internal/parallel_moves.rs:260
↓ 4 callersMethodget_value_for_use
Returns a value for use as an `OperandKind::Use` in the given block. Because we process instructions in post-order, uses are processed before definit
src/debug_utils/generic_function/arbitrary.rs:460
↓ 4 callersMethodgroup_allocation_order
(&self, class: RegClass)
src/debug_utils/generic_reginfo/mod.rs:198
↓ 4 callersMethodgrow_to_with
(&mut self, max_index: usize, f: impl FnMut() -> V)
src/entity/secondary_map.rs:103
↓ 4 callersMethodinsert
(&mut self, key: K, value: V)
src/entity/sparse.rs:171
↓ 4 callersMethodinsert_unique
(&mut self, key: K, value: V)
src/entity/sparse.rs:187
↓ 4 callersMethodinto_mut
(self)
src/entity/sparse.rs:518
↓ 4 callersMethodlen
(&self)
src/entity/sparse.rs:89
↓ 4 callersFunctionload_reginfo
(path: &Path)
regalloc3-tool/src/main.rs:126
↓ 4 callersMethodmerge_use
Updates the constraints to accept the given `Use`, or returns false if this is not possible. Constraints are not updated if this function returns fal
src/internal/virt_regs/builder.rs:216
↓ 4 callersMethodnum_reg_groups
(&self)
src/debug_utils/generic_reginfo/mod.rs:228
↓ 4 callersMethodnum_regs
(&self)
src/debug_utils/generic_reginfo/mod.rs:213
↓ 4 callersMethodnum_virt_regs
Number of virtual registers currently defined.
src/internal/virt_regs/mod.rs:132
↓ 4 callersMethodorder
Returns an iterator over all the registers in the allocation order.
src/internal/allocator/order.rs:120
↓ 4 callersFunctionparse_entity_list
(pair: Pair<'_, Rule>)
src/debug_utils/generic_function/parse.rs:73
↓ 4 callersFunctionparse_expected_entity
(pair: Pair<'_, Rule>, expected: T)
src/debug_utils/generic_reginfo/parse.rs:58
↓ 4 callersFunctionparse_number
(pair: Pair<'_, Rule>)
src/debug_utils/generic_reginfo/parse.rs:44
↓ 4 callersMethodrelease
(&mut self, slot: SpillSlot, size: SpillSlotSize)
src/internal/parallel_moves.rs:53
↓ 4 callersMethodrun
Runs the coalescing pass to group values into `ValueSet`s.
src/internal/coalescing.rs:71
↓ 4 callersMethodset_fixedhint
Sets the fixed-hint bit to the given value.
src/internal/uses.rs:399
↓ 4 callersMethodset_for_value
Returns the `ValueSet` containing the given `Value`.
src/internal/coalescing.rs:65
↓ 4 callersMethodset_livein
Sets the live-in bit to the given value.
src/internal/uses.rs:381
↓ 4 callersMethodstack_to_stack_class
(&self, bank: RegBank)
src/debug_utils/generic_reginfo/mod.rs:148
↓ 3 callersMethodadd_indirect_remat
Adds an indirect rematerialization recipe for a value defined at the current program point.
src/debug_utils/generic_function/arbitrary.rs:571
↓ 3 callersMethodallocation_order
(class: RegClass, reginfo: &impl RegInfo)
src/internal/allocator/mod.rs:151
↓ 3 callersMethodassign
Assigns `vreg` to the chosen register. `evicted_for_preference` is true if we evicted a virtual register with a higher spill weight due to our prefer
src/internal/allocator/mod.rs:732
↓ 3 callersMethodbanks
(&self)
src/reginfo.rs:277
↓ 3 callersMethodblock_immediate_dominator
(&self, block: Block)
src/debug_utils/generic_function/mod.rs:180
↓ 3 callersMethodcan_eliminate_dead_inst
(&self, inst: Inst)
src/debug_utils/generic_function/mod.rs:262
↓ 3 callersMethodcheck_constraint
Checks that the allocation for an operand matches the operand constraints.
src/debug_utils/checker.rs:861
↓ 3 callersMethodcheck_fixed_conflict
Checks if the given register can be used as an early/late fixed-register constraint, and if successful, marks all of the register's sub-units as in-us
src/debug_utils/generic_function/arbitrary.rs:440
↓ 3 callersMethodcheck_value_def
Record the definition of a value and check for duplicate definitions.
src/debug_utils/validate_func.rs:159
↓ 3 callersMethodclass_group_members
(&self, class: RegClass)
src/debug_utils/generic_reginfo/mod.rs:178
↓ 3 callersMethodclear_spillslot
(&mut self, alloc: Allocation)
src/internal/dead_spill_elimination.rs:242
↓ 3 callersMethodcount
(&self)
src/entity/set.rs:155
↓ 3 callersMethoddef_value_group
Calls `def_value` for each member of a group.
src/internal/move_optimizer.rs:535
↓ 3 callersMethoddump
(self, virt_regs: &VirtRegs, uses: &Uses)
src/internal/allocator/mod.rs:130
↓ 3 callersMethodevicted_for_preference
Whether this virtual register has evicted another virtual register with a higher spill weight to steal a physical register for which it has a higher p
src/internal/allocator/mod.rs:282
↓ 3 callersMethodfirst_half
First half of the split.
src/internal/live_range.rs:405
↓ 3 callersMethodfirst_inst
Returns the first instruction that this segment covers.
src/internal/live_range.rs:268
↓ 3 callersMethodfor_each_move_source
Helper function to deal with uses that move an incoming value to another location. This figures out where the values comes from and which moves need t
src/internal/move_resolver.rs:756
↓ 3 callersMethodgen_allocation_order
Generates an allocation order for a register class.
src/debug_utils/generic_reginfo/arbitrary.rs:162
↓ 3 callersMethodgroup_for_reg
( reg: PhysReg, group_index: usize, class: RegClass, reginfo: &impl RegInfo,
src/internal/allocator/mod.rs:141
↓ 3 callersMethodhas_fixedhint
Indicates that the live range that contains this use list has a fixed register hint.
src/internal/uses.rs:371
↓ 3 callersMethodhas_liveout
Indicates that the live range that contains this use list is live-out to another segment at the end of the live range.
src/internal/uses.rs:365
↓ 3 callersMethodhints_for_segment
Returns an iterator over all the fixed-register hints covered by the given live range segment.
src/internal/hints.rs:180
↓ 3 callersMethodindex
(&self, k: K)
src/entity/secondary_map.rs:168
↓ 3 callersMethodindices
Returns the range of indices encoded in the `UseList`.
src/internal/uses.rs:433
↓ 3 callersMethodinst
Instruction before which the move must be placed.
src/internal/move_resolver.rs:101
↓ 3 callersMethodinto_second_half
Second half of the split.
src/internal/live_range.rs:410
↓ 3 callersMethodis_dead_spillslot_write
(&self, alloc: Allocation)
src/internal/dead_spill_elimination.rs:232
↓ 3 callersMethoditer
(&self)
src/entity/primary_map.rs:119
↓ 3 callersMethoditer
(&self)
src/entity/secondary_map.rs:112
← previousnext →101–200 of 705, ranked by callers