Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
toolchain
/
llvm-project
/
4707d37ac9ef87893c9b35c5d2f9563a91b10fd5
/
llvm
/
lib
/
CodeGen
/
RegAllocGreedy.cpp
4938edb
Make a bunch of symbols private.
by Benjamin Kramer
· 14 years ago
4c9a2fb
Refer to the RegisterCoalescer pass by ID.
by Jakob Stoklund Olesen
· 14 years ago
22f37a1
Fix typo. Thanks, Andy!
by Jakob Stoklund Olesen
· 14 years ago
d4bb1d4
Reject RS_Spill ranges from local splitting as well.
by Jakob Stoklund Olesen
· 14 years ago
02cf10b
Only mark remainder intervals as RS_Spill after per-block splitting.
by Jakob Stoklund Olesen
· 14 years ago
0de95ef
Remember to update LiveDebugVariables after per-block splitting.
by Jakob Stoklund Olesen
· 14 years ago
cef5d8f
Extract per-block splitting into its own method.
by Jakob Stoklund Olesen
· 14 years ago
58995bc
Also use shouldSplitSingleBlock() in the fallback splitting mode.
by Jakob Stoklund Olesen
· 14 years ago
8627ea9
Split around single instructions to enable register class inflation.
by Jakob Stoklund Olesen
· 14 years ago
11b788d
Enable compact region splitting by default.
by Jakob Stoklund Olesen
· 14 years ago
8695452
Be more conservative when forming compact regions.
by Jakob Stoklund Olesen
· 14 years ago
77eb5a0
Fix some warnings from Clang in release builds:
by Chandler Carruth
· 14 years ago
3c14505
Use the precomputed def presence in RAGreedy::calcSpillCost.
by Jakob Stoklund Olesen
· 14 years ago
057f9b6
Inform SpillPlacement about blocks with defs.
by Jakob Stoklund Olesen
· 14 years ago
43859a6
Rename {First,Last}Use to {First,Last}Instr.
by Jakob Stoklund Olesen
· 14 years ago
163e7a7
Time the emission of debug values.
by Jakob Stoklund Olesen
· 14 years ago
eb5ea83
Revert r136528 "Enable compact region splitting by default."
by Jakob Stoklund Olesen
· 14 years ago
b5c2d32
Enable compact region splitting by default.
by Jakob Stoklund Olesen
· 14 years ago
cad845f
Reverse order of RS_Split live ranges under -compact-regions.
by Jakob Stoklund Olesen
· 14 years ago
dab4b9a
Add support for multi-way live range splitting.
by Jakob Stoklund Olesen
· 14 years ago
5387bd3
Revert to RA_Assign when a virtreg separates into components.
by Jakob Stoklund Olesen
· 14 years ago
4501117
Add an RS_Split2 stage used for loop prevention.
by Jakob Stoklund Olesen
· 14 years ago
3ef8cf1
Rename live range stages to better reflect how they are used.
by Jakob Stoklund Olesen
· 14 years ago
ecad62f
Add RAGreedy::calcCompactRegion.
by Jakob Stoklund Olesen
· 14 years ago
a953bf1
Prepare RAGreedy::growRegion for compact regions.
by Jakob Stoklund Olesen
· 14 years ago
717d7ed
Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used.
by Frits van Bommel
· 14 years ago
6063549
Remove unused LoopRanges from RegAllocGreedy.
by Jakub Staszak
· 14 years ago
795da1c
Extract parts of RAGreedy::splitAroundRegion as SplitKit methods.
by Jakob Stoklund Olesen
· 14 years ago
a153ca5
Reapply r135121 with a fixed copy constructor.
by Jakob Stoklund Olesen
· 14 years ago
1d4bada
Revert r135121 which broke a gcc-4.2 builder.
by Jakob Stoklund Olesen
· 14 years ago
c270cb6
Count references to interference cache entries.
by Jakob Stoklund Olesen
· 14 years ago
d7e9937
Reapply r135074 and r135080 with a fix.
by Jakob Stoklund Olesen
· 14 years ago
fae30b2
Revert r135074 and r135080. They broke clamscan.
by Jakob Stoklund Olesen
· 14 years ago
5fba5b8
Only keep the global split candidates that work out.
by Jakob Stoklund Olesen
· 14 years ago
7bb72e2
Move the InterferenceCache cursor into the GlobalSplitCand struct.
by Jakob Stoklund Olesen
· 14 years ago
4931bbc
Be more aggressive about following hints.
by Jakob Stoklund Olesen
· 14 years ago
91f3a30
Break infinite loop when the Hopfield network oscillates.
by Jakob Stoklund Olesen
· 14 years ago
b2090ec
Tweak comment and debug output.
by Jakob Stoklund Olesen
· 14 years ago
71a3a00
Fix PR10244.
by Jakob Stoklund Olesen
· 14 years ago
30a8563
Use a new strategy for preventing eviction loops in RAGreedy.
by Jakob Stoklund Olesen
· 14 years ago
adc6a4c
Reapply r134047 now that the world is ready for it.
by Jakob Stoklund Olesen
· 14 years ago
8628435
Revert r134047 while investigating a llvm-gcc-i386-linux-selfhost miscompile.
by Jakob Stoklund Olesen
· 14 years ago
ffbc05b
Rewrite RAGreedy::splitAroundRegion, now with cool ASCII art.
by Jakob Stoklund Olesen
· 14 years ago
676c405
There is only one register coalescer. Merge it into the base class and
by Rafael Espindola
· 14 years ago
fef3c64
Move RegisterCoalescer.h to lib/CodeGen.
by Rafael Espindola
· 14 years ago
df47627
Simplify local live range splitting's safeguard to fix PR10070.
by Jakob Stoklund Olesen
· 14 years ago
b8bf3c0
Switch AllocationOrder to using RegisterClassInfo instead of a BitVector
by Jakob Stoklund Olesen
· 14 years ago
e9cc8e9
Revert r132358 "Simplify the eviction policy by making the failsafe explicit."
by Jakob Stoklund Olesen
· 14 years ago
73e18b7
Simplify the eviction policy by making the failsafe explicit.
by Jakob Stoklund Olesen
· 14 years ago
ec43d5d
Reapply r132245 with a fix for the bug that broke the darwin9/i386 build.
by Jakob Stoklund Olesen
· 14 years ago
ca6a4d8
Revert r132245, "Create two BlockInfo entries when a live range is discontinuous through a block."
by Jakob Stoklund Olesen
· 14 years ago
fd3f71e
Create two BlockInfo entries when a live range is discontinuous through a block.
by Jakob Stoklund Olesen
· 14 years ago
5cc91b2
Add SplitAnalysis::getNumLiveBlocks().
by Jakob Stoklund Olesen
· 14 years ago
25d5745
Add a RAGreedy::canEvict function.
by Jakob Stoklund Olesen
· 14 years ago
50215af
Fix PR9883. Make sure all caches are invalidated when a live range is repaired.
by Jakob Stoklund Olesen
· 14 years ago
a5c8899
Emit a proper error message when register allocators run out of registers.
by Jakob Stoklund Olesen
· 15 years ago
f8da028
Update LiveDebugVariables after live range splitting.
by Jakob Stoklund Olesen
· 15 years ago
eaa6ed1
Gracefully handle invalid live ranges. Fix PR9831.
by Jakob Stoklund Olesen
· 15 years ago
357dd36
Use hysteresis for local live range splitting as well.
by Jakob Stoklund Olesen
· 15 years ago
eef2327
Add a safe-guard against repeated splitting for some rare cases.
by Jakob Stoklund Olesen
· 15 years ago
032891b
Always compare the cost of region splitting with the cost of per-block splitting.
by Jakob Stoklund Olesen
· 15 years ago
6a663b8
Allow allocatable ranges from global live range splitting to be split again.
by Jakob Stoklund Olesen
· 15 years ago
0e34c1d
Prefer cheap registers for busy live ranges.
by Jakob Stoklund Olesen
· 15 years ago
cda53fe
Stop using dead function.
by Jakob Stoklund Olesen
· 15 years ago
c49df2c
SparseBitVector is SLOW.
by Jakob Stoklund Olesen
· 15 years ago
c70b697
Create new intervals for isolated blocks during region splitting.
by Jakob Stoklund Olesen
· 15 years ago
0f175eb
Speed up eviction by stopping collectInterferingVRegs as soon as the spill
by Jakob Stoklund Olesen
· 15 years ago
ed47ed4
Build the Hopfield network incrementally when splitting global live ranges.
by Jakob Stoklund Olesen
· 15 years ago
6d2bbc1
Extract SpillPlacement::addLinks for handling the special transparent blocks.
by Jakob Stoklund Olesen
· 15 years ago
8ce2f43
Also account for the spill code that would be inserted in live-through blocks with interference.
by Jakob Stoklund Olesen
· 15 years ago
81439a8
Abort the constraint calculation early when all positive bias is lost.
by Jakob Stoklund Olesen
· 15 years ago
6895b87
Keep track of the number of positively biased nodes when adding constraints.
by Jakob Stoklund Olesen
· 15 years ago
36b5d8a
Break the spill placement algorithm into three parts: prepare, addConstraints, and finish.
by Jakob Stoklund Olesen
· 15 years ago
f3b2dcc
Oops. Scary.
by Jakob Stoklund Olesen
· 15 years ago
bf91c4e
Analyze blocks with uses separately from live-through blocks without uses.
by Jakob Stoklund Olesen
· 15 years ago
6aa0fbf
Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy.
by Jakob Stoklund Olesen
· 15 years ago
d93b0e3
Stop precomputing last split points, query the SplitAnalysis cache on demand.
by Jakob Stoklund Olesen
· 15 years ago
8933907
Stop caching basic block index ranges now that SlotIndexes can keep up.
by Jakob Stoklund Olesen
· 15 years ago
ca26e0a
Use InterferenceCache in RegAllocGreedy.
by Jakob Stoklund Olesen
· 15 years ago
91cbcaf
Add an InterferenceCache class for caching per-block interference ranges.
by Jakob Stoklund Olesen
· 15 years ago
dd9a2ec
Treat clones the same as their origin.
by Jakob Stoklund Olesen
· 15 years ago
e991f72
Recompute register class and hint for registers created during spilling.
by Jakob Stoklund Olesen
· 15 years ago
28d79cd
Drop interference reassignment in favor of eviction.
by Jakob Stoklund Olesen
· 15 years ago
8698507
Add debug output.
by Jakob Stoklund Olesen
· 15 years ago
e14b2b2
Add a LiveRangeEdit delegate callback before shrinking a live range.
by Jakob Stoklund Olesen
· 15 years ago
557a82c
Clarify debugging output.
by Jakob Stoklund Olesen
· 15 years ago
43a8750
Tell the register allocator about new unused virtual registers.
by Jakob Stoklund Olesen
· 15 years ago
4d6eafa
Change the Spiller interface to take a LiveRangeEdit reference.
by Jakob Stoklund Olesen
· 15 years ago
c6cc485
Make SpillIs an optional pointer. Avoid creating a bunch of temporary SmallVectors.
by Jakob Stoklund Olesen
· 15 years ago
8e08964
Add a LiveRangeEdit::Delegate protocol.
by Jakob Stoklund Olesen
· 15 years ago
27f942f
Make the UselessRegs argument optional in the LiveRangeEdit constructor.
by Jakob Stoklund Olesen
· 15 years ago
1a9b66c
Rework the global split cost calculation.
by Jakob Stoklund Olesen
· 15 years ago
4b598e1
Compute the constraints for global live range splitting from an interference pattern.
by Jakob Stoklund Olesen
· 15 years ago
05a2f51
Extract a method. No functional change.
by Jakob Stoklund Olesen
· 15 years ago
d7e1bb8
Go back to comparing spill weights when deciding if interference can be evicted.
by Jakob Stoklund Olesen
· 15 years ago
d4f7889
Tweak debug output. No functional changes.
by Jakob Stoklund Olesen
· 15 years ago
c332e72
Precompute block frequencies, pow() isn't free.
by Jakob Stoklund Olesen
· 15 years ago
9a6382f
Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the time.
by Jakob Stoklund Olesen
· 15 years ago
c960198
Change the SplitEditor interface to a single instance can be shared for multiple splits.
by Jakob Stoklund Olesen
· 15 years ago
ff07178
Drop RAGreedy::trySpillInterferences().
by Jakob Stoklund Olesen
· 15 years ago
Next »