Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
fp2-dev
/
platform
/
external
/
llvm
/
79f06f3cbcf2cb0394d33382186c31f2967cb400
/
lib
/
CodeGen
/
InlineSpiller.cpp
194eb71
Use getVNInfoBefore() when it makes sense.
by Jakob Stoklund Olesen
· 13 years ago
1f81e31
Terminate all dead defs at the dead slot instead of the 'next' slot.
by Jakob Stoklund Olesen
· 13 years ago
2debd48
Rename SlotIndexes to match how they are used.
by Jakob Stoklund Olesen
· 13 years ago
cb39064
Stop tracking spill slot uses in VirtRegMap.
by Jakob Stoklund Olesen
· 13 years ago
17afb06
Strip old implicit operands after foldMemoryOperand.
by Jakob Stoklund Olesen
· 13 years ago
a80444f
Add value numbers when spilling dead defs.
by Jakob Stoklund Olesen
· 13 years ago
69cf1ca
Disable local spill hoisting for non-killing copies.
by Jakob Stoklund Olesen
· 13 years ago
b9edad0
Add an option to disable spill hoisting.
by Jakob Stoklund Olesen
· 13 years ago
d205f7a
Count correctly when a COPY turns into a spill or reload.
by Jakob Stoklund Olesen
· 13 years ago
79c40a0
Count inserted spills and reloads more accurately.
by Jakob Stoklund Olesen
· 13 years ago
6b6e32d
Trace through sibling PHIs in bulk.
by Jakob Stoklund Olesen
· 13 years ago
1ab7c8e
Reapply r139247: Cache intermediate results during traceSiblingValue.
by Jakob Stoklund Olesen
· 13 years ago
0472e04
Revert r139247 "Cache intermediate results during traceSiblingValue."
by Jakob Stoklund Olesen
· 13 years ago
2c207a0
Cache intermediate results during traceSiblingValue.
by Jakob Stoklund Olesen
· 13 years ago
ae779ee
Revert r138794, "Do not try to rematerialize a value from a partial definition."
by Jakob Stoklund Olesen
· 13 years ago
e497906
Do not try to rematerialize a value from a partial definition.
by Bob Wilson
· 13 years ago
7941350
Fix PR10387.
by Jakob Stoklund Olesen
· 13 years ago
4f4a6fc
Oops, didn't mean to commit that.
by Jakob Stoklund Olesen
· 13 years ago
56573cc1
Hoist spills within a basic block.
by Jakob Stoklund Olesen
· 13 years ago
9693d4c
Fix PR10277.
by Jakob Stoklund Olesen
· 13 years ago
cfe5254
Create a isFullCopy predicate.
by Rafael Espindola
· 13 years ago
443443c
Avoid hoisting spills when looking at a copy from another register that is also
by Jakob Stoklund Olesen
· 13 years ago
e9bd4ea
Add some statistics to the splitting and spilling frameworks.
by Jakob Stoklund Olesen
· 13 years ago
6ee56e6
Avoid using stale entries form the sibling value map.
by Jakob Stoklund Olesen
· 13 years ago
3b7d917
Add debug output for rematerializable instructions.
by Jakob Stoklund Olesen
· 13 years ago
5d5ef4a
Handle spilling around an instruction that has an early-clobber re-definition of
by Jakob Stoklund Olesen
· 13 years ago
312babc
Pick a conservative register class when creating a small live range for remat.
by Jakob Stoklund Olesen
· 13 years ago
6094bd8
Recompute register class and hint for registers created during spilling.
by Jakob Stoklund Olesen
· 13 years ago
cf610d0
Remember to use the correct register when rematerializing for snippets.
by Jakob Stoklund Olesen
· 13 years ago
c1d22d8
Run dead code elimination immediately after rematerialization.
by Jakob Stoklund Olesen
· 13 years ago
2ef661b
Properly enable rematerialization when spilling after live range splitting.
by Jakob Stoklund Olesen
· 13 years ago
e9c5073
Use individual register classes when spilling snippets.
by Jakob Stoklund Olesen
· 13 years ago
682eed0
Also eliminate redundant spills downstream of inserted reloads.
by Jakob Stoklund Olesen
· 13 years ago
01a46c8
Change an argument to a LiveInterval instead of a register number to save some redundant lookups.
by Jakob Stoklund Olesen
· 13 years ago
c1655e1
Add debug output.
by Jakob Stoklund Olesen
· 13 years ago
2a72bfa
Hoist spills when the same value is known to be in less loopy sibling registers.
by Jakob Stoklund Olesen
· 13 years ago
6a3dbd3
Dead code elimination may separate the live interval into multiple connected components.
by Jakob Stoklund Olesen
· 13 years ago
13ba252
Trace back through sibling copies to hoist spills and find rematerializable defs.
by Jakob Stoklund Olesen
· 13 years ago
766faf4
Rename members to match LLVM naming conventions more closely.
by Jakob Stoklund Olesen
· 13 years ago
7792e98
Tell the register allocator about new unused virtual registers.
by Jakob Stoklund Olesen
· 13 years ago
b1adbd1
Include snippets in the live stack interval.
by Jakob Stoklund Olesen
· 14 years ago
10a4332
Spill multiple registers at once.
by Jakob Stoklund Olesen
· 14 years ago
47dbf6c
Change the Spiller interface to take a LiveRangeEdit reference.
by Jakob Stoklund Olesen
· 14 years ago
38f6bd0
Make SpillIs an optional pointer. Avoid creating a bunch of temporary SmallVectors.
by Jakob Stoklund Olesen
· 14 years ago
92a55f4
Add a LiveRangeEdit::Delegate protocol.
by Jakob Stoklund Olesen
· 14 years ago
1973b3e
Make the UselessRegs argument optional in the LiveRangeEdit constructor.
by Jakob Stoklund Olesen
· 14 years ago
b259726
Use the same spill slot for all live ranges that descend form the same original
by Jakob Stoklund Olesen
· 14 years ago
75b5409
80 Col.
by Jakob Stoklund Olesen
· 14 years ago
c3dca3f
Set an allocation hint when rematting before a COPY.
by Jakob Stoklund Olesen
· 14 years ago
7b1f498
Avoid folding a load instruction into an instruction that redefines the register.
by Jakob Stoklund Olesen
· 14 years ago
be97e90
Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and
by Jakob Stoklund Olesen
· 14 years ago
3904825
Apparently, operandices is not a word.
by Jakob Stoklund Olesen
· 14 years ago
83d1ba5
Teach the inline spiller to attempt folding a load instruction into its single
by Jakob Stoklund Olesen
· 14 years ago
89cab93
Pass a Banner argument to the machine code verifier both from
by Jakob Stoklund Olesen
· 14 years ago
3bda29e
Rip out live range splitting support from the inline spiller.
by Jakob Stoklund Olesen
· 14 years ago
68257e6
When spilling a register defined by an early clobber, make sure that the new
by Jakob Stoklund Olesen
· 14 years ago
e93198a
Hook up AliasAnalysis in InlineSpiller. This is used for rematerializing
by Jakob Stoklund Olesen
· 14 years ago
f4baeaf
RABasic is nearly functionally complete. There are a few remaining
by Andrew Trick
· 14 years ago
b80e973
Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.
by Jakob Stoklund Olesen
· 14 years ago
8c42f48
Disable fancy splitting during spilling unless -extra-spiller-splits is given.
by Jakob Stoklund Olesen
· 14 years ago
376dcbd
Tag debug output as regalloc
by Jakob Stoklund Olesen
· 14 years ago
a37d5cf
Don't assign new registers created during a split to the same stack slot, but
by Jakob Stoklund Olesen
· 14 years ago
7d57753
Print out register class of spilled register.
by Jakob Stoklund Olesen
· 14 years ago
1f46a0a
Run a verification pass before any splitting to better distribute blame.
by Jakob Stoklund Olesen
· 14 years ago
d68f458
Make MachineDominators available for SplitEditor. We are going to need it for
by Jakob Stoklund Olesen
· 14 years ago
26b92be
Add a temporary command line option to verify machine code after each spill or
by Jakob Stoklund Olesen
· 14 years ago
0a12b80
InlineSpiller can also update LiveStacks.
by Jakob Stoklund Olesen
· 14 years ago
080c316
Move some of the InlineSpiller rematerialization code into LiveRangeEdit.
by Jakob Stoklund Olesen
· 14 years ago
2a0180f
Move stack slot assignments into LiveRangeEdit.
by Jakob Stoklund Olesen
· 14 years ago
a17768f
Create a new LiveRangeEdit class to keep track of the new registers created when
by Jakob Stoklund Olesen
· 14 years ago
57d0f2d
Update SplitEditor API to reflect the fact that the original live interval is
by Jakob Stoklund Olesen
· 14 years ago
cec2945
Fixed some tests to avoid LiveIntervals::getInstructionFromIndex(..) overhead where possible. Thanks to Jakob for the suggestions.
by Lang Hames
· 14 years ago
6e2968c
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL.
by Lang Hames
· 14 years ago
0a2b2a1
Clean up the Spiller.h interface.
by Jakob Stoklund Olesen
· 14 years ago
fc412d8
Implement splitting inside a single block.
by Jakob Stoklund Olesen
· 14 years ago
f1b05f2
Implement single block splitting.
by Jakob Stoklund Olesen
· 14 years ago
b67b12e
Avoid editing the current live interval during remat.
by Jakob Stoklund Olesen
· 14 years ago
5eb308b
Lazily defer duplicating the live interval we are splitting until we know it is
by Jakob Stoklund Olesen
· 14 years ago
6d108e2
Keep the MachiuneFunctionPass pointer around. It is useful for verification.
by Jakob Stoklund Olesen
· 14 years ago
1a0f91b
Coalesce stack slot accesses that arise when spilling both sides of a COPY.
by Jakob Stoklund Olesen
· 14 years ago
7536f72
Checkpoint SplitKit progress.
by Jakob Stoklund Olesen
· 14 years ago
f017900
Add SplitEditor to SplitKit. This class will be used to edit live intervals and
by Jakob Stoklund Olesen
· 14 years ago
f2c6e36
Change the createSpiller interface to take a MachineFunctionPass argument.
by Jakob Stoklund Olesen
· 14 years ago
8ae0263
Beginning SplitKit - utility classes for live range splitting.
by Jakob Stoklund Olesen
· 14 years ago
9529a1c
Spillers may alter MachineLoopInfo when breaking critical edges, so make it
by Jakob Stoklund Olesen
· 14 years ago
e05442d
Change TII::foldMemoryOperand API to require the machine instruction to be
by Jakob Stoklund Olesen
· 14 years ago
6bae550
Remove invalid assert
by Jakob Stoklund Olesen
· 14 years ago
3b9c7eb
Properly handle debug values during inline spilling.
by Jakob Stoklund Olesen
· 14 years ago
8de3b1e
Rematerialize as much as possible before inserting spills and reloads.
by Jakob Stoklund Olesen
· 14 years ago
e72a5c5
Add memory operand folding support to InlineSpiller.
by Jakob Stoklund Olesen
· 14 years ago
9e55afb
Add support for rematerialization to InlineSpiller.
by Jakob Stoklund Olesen
· 14 years ago
61e4a0b
Remember to track spill slot uses in VirtRegMap when inserting loads and stores.
by Jakob Stoklund Olesen
· 14 years ago
914f2ff
Begin implementation of an inline spiller.
by Jakob Stoklund Olesen
· 14 years ago