Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
fp2-dev
/
platform
/
external
/
llvm
/
c1d22d8adbd40c3e5d704fdae90f9ed2089bb67e
/
lib
/
CodeGen
/
InlineSpiller.cpp
c1d22d8
Run dead code elimination immediately after rematerialization.
by Jakob Stoklund Olesen
· 14 years ago
2ef661b
Properly enable rematerialization when spilling after live range splitting.
by Jakob Stoklund Olesen
· 14 years ago
e9c5073
Use individual register classes when spilling snippets.
by Jakob Stoklund Olesen
· 14 years ago
682eed0
Also eliminate redundant spills downstream of inserted reloads.
by Jakob Stoklund Olesen
· 14 years ago
01a46c8
Change an argument to a LiveInterval instead of a register number to save some redundant lookups.
by Jakob Stoklund Olesen
· 14 years ago
c1655e1
Add debug output.
by Jakob Stoklund Olesen
· 14 years ago
2a72bfa
Hoist spills when the same value is known to be in less loopy sibling registers.
by Jakob Stoklund Olesen
· 14 years ago
6a3dbd3
Dead code elimination may separate the live interval into multiple connected components.
by Jakob Stoklund Olesen
· 14 years ago
13ba252
Trace back through sibling copies to hoist spills and find rematerializable defs.
by Jakob Stoklund Olesen
· 14 years ago
766faf4
Rename members to match LLVM naming conventions more closely.
by Jakob Stoklund Olesen
· 14 years ago
7792e98
Tell the register allocator about new unused virtual registers.
by Jakob Stoklund Olesen
· 14 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
· 15 years ago
7b1f498
Avoid folding a load instruction into an instruction that redefines the register.
by Jakob Stoklund Olesen
· 15 years ago
be97e90
Teach TargetRegisterInfo how to cram stack slot indexes in with the virtual and
by Jakob Stoklund Olesen
· 15 years ago
3904825
Apparently, operandices is not a word.
by Jakob Stoklund Olesen
· 15 years ago
83d1ba5
Teach the inline spiller to attempt folding a load instruction into its single
by Jakob Stoklund Olesen
· 15 years ago
89cab93
Pass a Banner argument to the machine code verifier both from
by Jakob Stoklund Olesen
· 15 years ago
3bda29e
Rip out live range splitting support from the inline spiller.
by Jakob Stoklund Olesen
· 15 years ago
68257e6
When spilling a register defined by an early clobber, make sure that the new
by Jakob Stoklund Olesen
· 15 years ago
e93198a
Hook up AliasAnalysis in InlineSpiller. This is used for rematerializing
by Jakob Stoklund Olesen
· 15 years ago
f4baeaf
RABasic is nearly functionally complete. There are a few remaining
by Andrew Trick
· 15 years ago
b80e973
Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.
by Jakob Stoklund Olesen
· 15 years ago
8c42f48
Disable fancy splitting during spilling unless -extra-spiller-splits is given.
by Jakob Stoklund Olesen
· 15 years ago
376dcbd
Tag debug output as regalloc
by Jakob Stoklund Olesen
· 15 years ago
a37d5cf
Don't assign new registers created during a split to the same stack slot, but
by Jakob Stoklund Olesen
· 15 years ago
7d57753
Print out register class of spilled register.
by Jakob Stoklund Olesen
· 15 years ago
1f46a0a
Run a verification pass before any splitting to better distribute blame.
by Jakob Stoklund Olesen
· 15 years ago
d68f458
Make MachineDominators available for SplitEditor. We are going to need it for
by Jakob Stoklund Olesen
· 15 years ago
26b92be
Add a temporary command line option to verify machine code after each spill or
by Jakob Stoklund Olesen
· 15 years ago
0a12b80
InlineSpiller can also update LiveStacks.
by Jakob Stoklund Olesen
· 15 years ago
080c316
Move some of the InlineSpiller rematerialization code into LiveRangeEdit.
by Jakob Stoklund Olesen
· 15 years ago
2a0180f
Move stack slot assignments into LiveRangeEdit.
by Jakob Stoklund Olesen
· 15 years ago
a17768f
Create a new LiveRangeEdit class to keep track of the new registers created when
by Jakob Stoklund Olesen
· 15 years ago
57d0f2d
Update SplitEditor API to reflect the fact that the original live interval is
by Jakob Stoklund Olesen
· 15 years ago
cec2945
Fixed some tests to avoid LiveIntervals::getInstructionFromIndex(..) overhead where possible. Thanks to Jakob for the suggestions.
by Lang Hames
· 15 years ago
6e2968c
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL.
by Lang Hames
· 15 years ago
0a2b2a1
Clean up the Spiller.h interface.
by Jakob Stoklund Olesen
· 15 years ago
fc412d8
Implement splitting inside a single block.
by Jakob Stoklund Olesen
· 15 years ago
f1b05f2
Implement single block splitting.
by Jakob Stoklund Olesen
· 15 years ago
b67b12e
Avoid editing the current live interval during remat.
by Jakob Stoklund Olesen
· 15 years ago
5eb308b
Lazily defer duplicating the live interval we are splitting until we know it is
by Jakob Stoklund Olesen
· 15 years ago
6d108e2
Keep the MachiuneFunctionPass pointer around. It is useful for verification.
by Jakob Stoklund Olesen
· 15 years ago
1a0f91b
Coalesce stack slot accesses that arise when spilling both sides of a COPY.
by Jakob Stoklund Olesen
· 15 years ago
7536f72
Checkpoint SplitKit progress.
by Jakob Stoklund Olesen
· 15 years ago
f017900
Add SplitEditor to SplitKit. This class will be used to edit live intervals and
by Jakob Stoklund Olesen
· 15 years ago
f2c6e36
Change the createSpiller interface to take a MachineFunctionPass argument.
by Jakob Stoklund Olesen
· 15 years ago
8ae0263
Beginning SplitKit - utility classes for live range splitting.
by Jakob Stoklund Olesen
· 15 years ago
9529a1c
Spillers may alter MachineLoopInfo when breaking critical edges, so make it
by Jakob Stoklund Olesen
· 15 years ago
e05442d
Change TII::foldMemoryOperand API to require the machine instruction to be
by Jakob Stoklund Olesen
· 15 years ago
6bae550
Remove invalid assert
by Jakob Stoklund Olesen
· 15 years ago
3b9c7eb
Properly handle debug values during inline spilling.
by Jakob Stoklund Olesen
· 15 years ago
8de3b1e
Rematerialize as much as possible before inserting spills and reloads.
by Jakob Stoklund Olesen
· 15 years ago
e72a5c5
Add memory operand folding support to InlineSpiller.
by Jakob Stoklund Olesen
· 15 years ago
9e55afb
Add support for rematerialization to InlineSpiller.
by Jakob Stoklund Olesen
· 15 years ago
61e4a0b
Remember to track spill slot uses in VirtRegMap when inserting loads and stores.
by Jakob Stoklund Olesen
· 15 years ago
914f2ff
Begin implementation of an inline spiller.
by Jakob Stoklund Olesen
· 15 years ago