Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
toolchain
/
llvm-project
/
486b12b71a0926b49c2b01a1fd50d6663fea21f3
/
llvm
/
lib
/
CodeGen
/
RegAllocLinearScan.cpp
486b12b
Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler
by Alkis Evlogimenos
· 22 years ago
cb35230
Print basic block boundaries in machine instruction debug output.
by Alkis Evlogimenos
· 22 years ago
22de21e
Fix crash in debug output.
by Alkis Evlogimenos
· 22 years ago
bcc99a8
Fix instruction numbering in debug output.
by Alkis Evlogimenos
· 22 years ago
76eca06
Too many changes in one commit:
by Alkis Evlogimenos
· 22 years ago
3cf5460
Fix RA::verifyAssignment()
by Alkis Evlogimenos
· 22 years ago
d0a60b7
Rename reloads/spills to loads/stores.
by Alkis Evlogimenos
· 22 years ago
b490a12
Implement assignment correctness verification.
by Alkis Evlogimenos
· 22 years ago
2c5ddd2
Eliminate the use of spill (reserved) registers.
by Alkis Evlogimenos
· 22 years ago
ddcb4ad
Use std::numeric_limits<float>::infinity() instead of
by Alkis Evlogimenos
· 22 years ago
8cdd021
Remove getAllocatedRegNum(). Use getReg() instead.
by Alkis Evlogimenos
· 22 years ago
80da865
Change MachineBasicBlock's vector of MachineInstr pointers into an
by Alkis Evlogimenos
· 22 years ago
5dd5be3
Do not use MachineOperand::isVirtualRegister either!
by Chris Lattner
· 22 years ago
e82a707
Increase code clarity.
by Alkis Evlogimenos
· 22 years ago
cd2e7ff
Eliminate uneeded lookups by passing a Virt2PhysMap::iterator instead
by Alkis Evlogimenos
· 22 years ago
3274264
Modify the two address instruction pass to remove the duplicate
by Alkis Evlogimenos
· 22 years ago
3d100ef
When an instruction like: A += B had both A and B virtual registers
by Alkis Evlogimenos
· 22 years ago
6e34205
Fix debugging output.
by Alkis Evlogimenos
· 22 years ago
2cecace
Create an object for tracking physical register usage. This will look
by Alkis Evlogimenos
· 22 years ago
9b9c048
Change weight array into a vector and make it as big as the number of
by Alkis Evlogimenos
· 22 years ago
5e05a59
Use std::map::count() instead of std::map::find() != std::map::end()
by Alkis Evlogimenos
· 22 years ago
91dcc03
Use MRegisterInfo::isPhysicalRegister and MRegisterInfo::isVirtualRegister.
by Alkis Evlogimenos
· 22 years ago
73df113
Add option to join live intervals. Two intervals are joined if there
by Alkis Evlogimenos
· 22 years ago
e1c24c0
Remove unneeded check. An interval in active, by definition overlaps
by Alkis Evlogimenos
· 22 years ago
4716d76
Improve debugging output. Remove unneeded virtReg->0 mapping when
by Alkis Evlogimenos
· 22 years ago
d844972
Handle printing of intervals that are not assign to any physical
by Alkis Evlogimenos
· 22 years ago
8672af1
Handle printing of intervals that are not assign to any physical register yet.
by Alkis Evlogimenos
· 22 years ago
d86933d
Fold open interval ends handling into
by Alkis Evlogimenos
· 22 years ago
a0865ce
Improve debugging output.
by Alkis Evlogimenos
· 22 years ago
65bc990
Indentation and whitespace cleanups.
by Alkis Evlogimenos
· 22 years ago
6b1ec75
Fix bug introduced by previous commit: check if fixed intervals
by Alkis Evlogimenos
· 22 years ago
ae5b3d4
Add a separate list of fixed intervals. This improves the running time
by Alkis Evlogimenos
· 22 years ago
a64d712
Minor cleanups.
by Alkis Evlogimenos
· 22 years ago
9f62b96
Remove declared but undefined method.
by Alkis Evlogimenos
· 22 years ago
2fa1aef
Remove simple coalescing.
by Alkis Evlogimenos
· 22 years ago
a158dc8
Reserve ECX and EDI instead of EBX and EDI. Since EBX is a callee
by Alkis Evlogimenos
· 22 years ago
43b587d
Add coalescing to register allocator. A hint is added to each interval
by Alkis Evlogimenos
· 22 years ago
2e8c984
Improve debugging output when choosing a register to spill.
by Alkis Evlogimenos
· 22 years ago
7d7d7e8
Change the way free regusters are computed and perform better
by Alkis Evlogimenos
· 22 years ago
690e1b8
Remove verifyIntervals() since it doesn't actually work right now.
by Alkis Evlogimenos
· 22 years ago
2665d9c
Change weight into a float so that we can take into account the
by Alkis Evlogimenos
· 22 years ago
c09b77e
Add support for inactive intervals. This effectively reuses registers
by Alkis Evlogimenos
· 22 years ago
8f88cdf
Prune some #includes Add a statistic for # reloads
by Chris Lattner
· 22 years ago
e5e2bd6
Modify linear scan register allocator to use the two-address
by Alkis Evlogimenos
· 22 years ago
3bd69ea
Fix bug in reserved registers. DH actually aliases DX and EDX which
by Alkis Evlogimenos
· 22 years ago
4d87219
Rename LiveIntervals::expired() to LiveIntervals::expiredAt().
by Alkis Evlogimenos
· 22 years ago
aaba463
Change interface of MachineOperand as follows:
by Alkis Evlogimenos
· 22 years ago
4f7f017
When reserving a preallocated register spill the aliases of this register too.
by Alkis Evlogimenos
· 22 years ago
ed53b35
Expire any active intervals left when register allocation is done.
by Alkis Evlogimenos
· 22 years ago
e6dc614
Add instruction numbers to debugging output.
by Alkis Evlogimenos
· 22 years ago
f8fe176
Fix bug in register spilling when a preallocated live range overlaps a
by Alkis Evlogimenos
· 22 years ago
5fe0031
Improve debugging output and clean up some code.
by Alkis Evlogimenos
· 22 years ago
26f17e7
Print instructions before register allocation is performed. Also fix
by Alkis Evlogimenos
· 22 years ago
0aa40f8
Remove "numReloaded" statistic.
by Alkis Evlogimenos
· 22 years ago
0e9ded7
Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it.
by Alkis Evlogimenos
· 22 years ago