Chris Lattner
82e85c8c5f
Fix bug: Jello/2003-08-23-RegisterAllocatePhysReg.ll
...
llvm-svn: 8095
2003-08-23 23:49:42 +00:00
Misha Brukman
cda7f97dbb
The word dependent' has no
a'.
...
llvm-svn: 8030
2003-08-21 22:14:26 +00:00
Chris Lattner
491f944115
Fix spello
...
llvm-svn: 8029
2003-08-21 22:05:57 +00:00
Misha Brukman
56f7db4178
Spell `necessary' correctly.
...
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
972c03e264
Fix bug: Jello/2003-08-15-AllocaAssertion.ll
...
llvm-svn: 7916
2003-08-17 18:01:15 +00:00
Brian Gaeke
797d0f0aeb
Fix typo in comment
...
llvm-svn: 7906
2003-08-15 21:19:25 +00:00
Chris Lattner
b2ff3ba7df
Remove uses of the NonCopyable class, to make the doxygen output look better
...
llvm-svn: 7880
2003-08-15 05:20:06 +00:00
Chris Lattner
d5ff87cb9b
rename selection directory and library to SelectionDAG
...
llvm-svn: 7877
2003-08-15 04:55:22 +00:00
Chris Lattner
d76432ee48
Add a bunch of new node types, etc
...
llvm-svn: 7875
2003-08-15 04:53:16 +00:00
Brian Gaeke
4651096037
Factory methods for function passes now return type FunctionPass *.
...
llvm-svn: 7839
2003-08-14 06:09:32 +00:00
Brian Gaeke
af3bc2b895
Factory methods for function passes now return type FunctionPass *.
...
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.
llvm-svn: 7836
2003-08-14 06:04:49 +00:00
Brian Gaeke
77c65be59e
Factory methods for FunctionPasses now return type FunctionPass *.
...
llvm-svn: 7823
2003-08-13 18:18:15 +00:00
Chris Lattner
8b83fcfaa6
Mapping directory no longer exists
...
llvm-svn: 7801
2003-08-13 02:37:24 +00:00
Chris Lattner
c6ea2085bd
Obsolete file
...
llvm-svn: 7799
2003-08-13 02:27:13 +00:00
Vikram S. Adve
3862c570bc
For instructions in a delay slot of another instruction,
...
we no longer need to find the live-before set of the delayed
branch since that set is now included the live-before/after
set of the instructions in each delay slot. Just assert that instead.
llvm-svn: 7796
2003-08-12 22:22:24 +00:00
Chris Lattner
f40b9fb6c2
Build the SelectionDAG library
...
llvm-svn: 7718
2003-08-11 14:57:48 +00:00
Chris Lattner
45414456b3
Initial checkin of SelectionDAG implementation. This is still rough and
...
unfinished
llvm-svn: 7717
2003-08-11 14:57:33 +00:00
Vikram S. Adve
bc05294ada
Fix assertion in MachineInstr::substituteValue().
...
llvm-svn: 7675
2003-08-07 15:01:48 +00:00
Chris Lattner
5a778ec126
Use a new local data structure instead of the MachineInstr::regsUsed set
...
llvm-svn: 7621
2003-08-05 22:11:13 +00:00
Chris Lattner
937abf2262
Add a map
...
llvm-svn: 7620
2003-08-05 22:09:31 +00:00
Chris Lattner
a38b57808a
Minor cleanups
...
llvm-svn: 7619
2003-08-05 22:03:27 +00:00
Chris Lattner
18b0b92033
Physical registers no longer live in the regsUsed set for each machine instr
...
llvm-svn: 7618
2003-08-05 21:55:58 +00:00
Chris Lattner
a826c8d485
Do not insert physical regsiters into the regsUsed set
...
llvm-svn: 7617
2003-08-05 21:55:20 +00:00
Chris Lattner
b047a0d449
All callers of these methods actually wanted them to preserve the flags,
...
so get rid of the def/use parameters that were getting passed in.
**** This now changes the semantics of these methods to preserve the flags,
not clobber them!
llvm-svn: 7602
2003-08-05 16:58:46 +00:00
Chris Lattner
297f7d2451
Fix bugs handling ESP in alloca references
...
llvm-svn: 7591
2003-08-05 04:13:58 +00:00
Chris Lattner
6fece1bf61
Revert previous change, and be really anal about what physical registers can do.
...
llvm-svn: 7588
2003-08-05 00:49:09 +00:00
Chris Lattner
0e8197ad06
Don't bother calculating info unless its needed. May reduce number of stack slots created.
...
llvm-svn: 7584
2003-08-04 23:42:37 +00:00
Chris Lattner
8934560bd3
* Fix spelling of 'necessary'
...
* Add a lot more DEBUG output, which is better structured than before
* Fix bug: Jello/2003-08-04-PhysRegLiveFailure.llx
llvm-svn: 7583
2003-08-04 23:36:39 +00:00
Chris Lattner
5dca2ea4bc
Simplify code, eliminating the need for the X86 isVoid target instr flag
...
llvm-svn: 7534
2003-08-03 21:51:45 +00:00
Chris Lattner
77691b2c54
Set debug types
...
llvm-svn: 7533
2003-08-03 21:47:31 +00:00
Chris Lattner
eba995d624
Remove using decl
...
llvm-svn: 7531
2003-08-03 20:24:29 +00:00
Chris Lattner
a18bb98cf5
Wrap at 80 columns
...
llvm-svn: 7503
2003-08-03 13:49:03 +00:00
Chris Lattner
1baa706ab7
Move DEBUG to Debug.h
...
llvm-svn: 7497
2003-08-01 22:21:34 +00:00
Vikram S. Adve
1414fba288
All constant-evaluation code now unified into
...
TargetInstrInfo::ConvertConstantToIntType().
llvm-svn: 7390
2003-07-29 19:50:12 +00:00
Vikram S. Adve
b58f52ab45
1. Bug fix: Don't use branch operand reg. as temp. reg. when
...
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).
2. Bug fix: Delete the delay slot instr, not the branch instr, when
moving delay slot instr. out!!!!
3. Move code to insert caller-saves moved here from SparcRegInfo:
it is now machine-independent.
llvm-svn: 7389
2003-07-29 19:49:21 +00:00
Vikram S. Adve
42005e62b0
Add const version of getLiveRangeForValue().
...
llvm-svn: 7386
2003-07-29 19:38:22 +00:00
Vikram S. Adve
52859278d1
Code to insert caller-saves moved here from SparcRegInfo: it is now
...
machine-independent.
Fix problem with using branch operand reg. as temp. reg. when
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).
llvm-svn: 7385
2003-07-29 19:37:41 +00:00
Chris Lattner
92dfc1ed32
Making this code const-correct would be a pain, so I'll hack it.
...
llvm-svn: 7350
2003-07-26 23:29:51 +00:00
Chris Lattner
2d6049baaf
Const correctness fixes
...
llvm-svn: 7349
2003-07-26 23:24:56 +00:00
Chris Lattner
e39696972d
Be const correct
...
llvm-svn: 7348
2003-07-26 23:23:41 +00:00
Chris Lattner
792286a084
Hrm, another necesary one :(
...
llvm-svn: 7347
2003-07-26 23:22:19 +00:00
Chris Lattner
ecc0501a97
Remove #include
...
llvm-svn: 7342
2003-07-26 23:01:04 +00:00
Chris Lattner
9224631d6b
Remove extraneous #includes
...
llvm-svn: 7341
2003-07-26 23:00:29 +00:00
Vikram S. Adve
57eb4ab6bc
(1) Change the way unused regs. are marked and found to consider regType
...
info (since multiple reg types may share the same reg class).
(2) Remove machine-specific regalloc. methods that are no longer needed.
In particular, arguments and return value from a call do not need
machine-specific code for allocation.
(3) Rename TargetRegInfo::getRegType variants to avoid unintentional
overloading when an include file is omitted.
llvm-svn: 7329
2003-07-25 21:06:09 +00:00
Vikram S. Adve
714fee31fd
Remove unused field. Change the way unused regs. are marked and
...
found to consider regType info (since multiple reg types may share
the same reg class, e.g., single and double on Sparc).
llvm-svn: 7327
2003-07-25 21:00:13 +00:00
Chris Lattner
9c569f48a0
Remove unnecessary casts
...
llvm-svn: 7250
2003-07-23 15:17:51 +00:00
Chris Lattner
c1049acba1
Random cleanups
...
llvm-svn: 7247
2003-07-23 14:59:40 +00:00
Chris Lattner
67138b2c59
Remove using decl
...
llvm-svn: 7246
2003-07-23 14:55:59 +00:00
Vikram S. Adve
d8b600cb85
Values stored in CallArgsDescriptor cannot be const.
...
llvm-svn: 7156
2003-07-10 19:46:15 +00:00
Vikram S. Adve
b1496585b6
isMarkedForSpill() should be const.
...
llvm-svn: 7155
2003-07-10 19:45:28 +00:00