Chris Lattner [Mon, 16 Dec 2002 22:29:30 +0000 (22:29 +0000)]
Fix prolog/epilog in the presence of alloca
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5087
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 22:29:06 +0000 (22:29 +0000)]
Make sure stack manipulation refers to ESP the right number of times
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5086
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 20:09:54 +0000 (20:09 +0000)]
New testcase for printing out arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 19:32:50 +0000 (19:32 +0000)]
Add some special cases to make common getelementptr cases easier to read/faster
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 19:31:48 +0000 (19:31 +0000)]
Finish implementation of alias list impl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 17:44:42 +0000 (17:44 +0000)]
* Fix a gross X86 hack that was intended to avoid allocating SP and BP
* Implement register alias set support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5082
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 17:42:40 +0000 (17:42 +0000)]
Keep the stack frame aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5081
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 16:39:14 +0000 (16:39 +0000)]
Add support for register alias set description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5080
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 16:15:51 +0000 (16:15 +0000)]
Add mechanism to select register allocator to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 16:15:28 +0000 (16:15 +0000)]
Initial checkin of "local" register allocator. Bugs are still present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5078
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 16:14:51 +0000 (16:14 +0000)]
Try #2 to get alias set stuff to work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5077
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 15:57:44 +0000 (15:57 +0000)]
Add comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5076
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 15:55:51 +0000 (15:55 +0000)]
Add info about register aliases, add prototype for createLocalRegisterAllocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5075
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 15:55:25 +0000 (15:55 +0000)]
Add info about register file aliasing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5074
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 15:54:59 +0000 (15:54 +0000)]
Add information about register file aliasing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 15:54:42 +0000 (15:54 +0000)]
Add call clobber info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5072
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 14:38:13 +0000 (14:38 +0000)]
Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Dec 2002 14:37:00 +0000 (14:37 +0000)]
Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocator.
Remvoe some dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5070
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 16 Dec 2002 04:23:29 +0000 (04:23 +0000)]
brg
Fix some bugs in use of MBB vs. BB and iterators that are invalidated before
we use them.
Reference targetClass by enum name, not by number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5069
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 16 Dec 2002 01:31:18 +0000 (01:31 +0000)]
Use -Wl,-x instead of -s: it is more portable, and in particular,
is needed on BSD (MacOS).
Also, use -Ldir instead of -L dir on the link line. Same reason...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5068
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 23:01:26 +0000 (23:01 +0000)]
Some simpliciations to the spill/reload interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5067
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 22:39:53 +0000 (22:39 +0000)]
Simplify PHI node elimination significantly by doing it as a prepass to
register allocation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5066
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 22:38:47 +0000 (22:38 +0000)]
Correct the setting of Def flags on registers that are modified!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5065
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 22:19:19 +0000 (22:19 +0000)]
Variety of small or trivial simplifications to the code, completely eliminated
the dependence on PhysRegClassMap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5064
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 22:16:08 +0000 (22:16 +0000)]
Export well known instruction opcodes usable by target independant passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5063
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 22:05:02 +0000 (22:05 +0000)]
Add new opIsUse method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5062
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 21:33:51 +0000 (21:33 +0000)]
Remove unused savePhysRegToStack method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5061
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 21:24:30 +0000 (21:24 +0000)]
Localize a map, remove another
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5060
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 21:13:40 +0000 (21:13 +0000)]
Give passes nice names!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5059
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 21:13:12 +0000 (21:13 +0000)]
Give simple reg allocator a nice Pass Name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5058
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 21:02:20 +0000 (21:02 +0000)]
Add a big assert making sure 2 address instructions are formed right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5057
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 20:52:08 +0000 (20:52 +0000)]
Add new testcase for repeated preds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5056
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 20:48:03 +0000 (20:48 +0000)]
Fix a problem that occurs when PHI nodes have multiple entries for the same predecessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5055
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 20:36:09 +0000 (20:36 +0000)]
Grab bag of minor cleanups. Export some statistics about the number of
spills and reloads emitted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5054
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 20:35:25 +0000 (20:35 +0000)]
Implement printing of MBB arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5053
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 20:06:35 +0000 (20:06 +0000)]
Simplify interfaces used by regalloc to insert code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5052
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 19:51:14 +0000 (19:51 +0000)]
* Simplify code a bit by breaking the PHI node handling stuff out into a seperate
function from normal regalloc code
* Make the regalloc for a block a function instead of part of runOnMachineBB, which
makes it easier to see what's going on in runOnMBB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5051
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 19:29:34 +0000 (19:29 +0000)]
Changes to make new TargetRegisterClass interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5050
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 19:29:14 +0000 (19:29 +0000)]
Simplify TargetRegisterClass a bit, also eliminating virtual function call
overhead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5049
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 19:07:34 +0000 (19:07 +0000)]
* Remove some unneccesary instance variables
* Make allocateStackSpaceFor only allocate the right amount of space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5048
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 18:40:36 +0000 (18:40 +0000)]
* Simplify TargetRegisterClass implementations
* Change regclass iterators to use an extra level of pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5047
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 18:40:01 +0000 (18:40 +0000)]
* Rename const_regclass_begin/end to just regclass_begin/end
* Regclass iterators need an extra level of pointerness to work right
* Pull inverse mapping code out of target description files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5046
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 18:38:59 +0000 (18:38 +0000)]
pull inverse reg class mapping into a class that is sharable and out of the
target register description classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5045
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 18:19:24 +0000 (18:19 +0000)]
Prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5044
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 18:15:24 +0000 (18:15 +0000)]
Remove extraneous #includes, perform FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5043
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 17:46:18 +0000 (17:46 +0000)]
New testcase for structure argument problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5042
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 17:37:35 +0000 (17:37 +0000)]
New test to make sure I'm getting constness right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5041
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 17:14:32 +0000 (17:14 +0000)]
New testcase, courtesy of Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5040
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 16:41:52 +0000 (16:41 +0000)]
Fix bug: Assembler/2002-12-15-GlobalResolve.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5039
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 16:32:21 +0000 (16:32 +0000)]
Allow folding together two globals through type resolution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5038
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 16:20:23 +0000 (16:20 +0000)]
planes is not spelled with an O
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5037
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 15:52:03 +0000 (15:52 +0000)]
Testcase identified by Brian Gaeke that breaks the C frontend...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5036
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 08:02:51 +0000 (08:02 +0000)]
Fix borkness with not using MachineBasicBlocks in PHI nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5035
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 08:02:15 +0000 (08:02 +0000)]
Add support to cast from a bool type
Add support for boolean constants
add getClassB method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5034
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 08:01:39 +0000 (08:01 +0000)]
Use MachineOperand::isFoo methods instead of our own global functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 08:01:02 +0000 (08:01 +0000)]
Add capability to have a MachineBasicBlock as an operand to a MachineInstr
Add a bunch of methods to MachineOperand is* to reduce usage of MO_foo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 07:55:43 +0000 (07:55 +0000)]
New testcase for bool support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 03:56:00 +0000 (03:56 +0000)]
Fix a huge performance problem in reassociate by introducing a
rank map cache for instruction ranks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Dec 2002 03:49:50 +0000 (03:49 +0000)]
Minor changes:
* Reword comment to make more clear
* Don't print out BB's after modification made
* Don't delete and new an instruction when we need to move something, just move it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Dec 2002 21:28:32 +0000 (21:28 +0000)]
Make stuff compiled with gccld not dump into the debugger if there's a problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5028
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 16:48:57 +0000 (16:48 +0000)]
Pass command line arguments to main
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5027
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 15:28:42 +0000 (15:28 +0000)]
Add statistic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5026
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 14:15:20 +0000 (14:15 +0000)]
Test indirect call
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 14:13:27 +0000 (14:13 +0000)]
Implement indirect function calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5024
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 13:16:14 +0000 (13:16 +0000)]
Make function code generation printing debug-only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5023
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 13:15:36 +0000 (13:15 +0000)]
Made status output debug-only (for testing diffs against lli).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5022
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 13:07:42 +0000 (13:07 +0000)]
Fix bork in doMultiply
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5021
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 13:04:04 +0000 (13:04 +0000)]
Add sanity checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5020
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 12:33:31 +0000 (12:33 +0000)]
Fixed a bug where moves due to phis were being neglected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5019
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 12:10:16 +0000 (12:10 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5018
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 12:00:06 +0000 (12:00 +0000)]
Cleaned up the code: factored out switch/case into a separate function, put
constants in an array for quick lookup. Stole the idea from elsewhere in
Jello.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5017
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 11:55:59 +0000 (11:55 +0000)]
Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessor
basic block, as there could be multiple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5016
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 11:52:34 +0000 (11:52 +0000)]
Insert phi code at top of block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5015
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 11:39:18 +0000 (11:39 +0000)]
lib/Target/X86/InstSelectSimple.cpp:
The MachineBasicBlock variable name patrol hereby fines Chris Lattner
one bag of nachos, for shadowing global names while his license to do so
was under suspension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5014
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 11:33:22 +0000 (11:33 +0000)]
This should be more correct: invalidates physical registers that are used in
an instruction to avoid using them to allocate to other virtual registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5013
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 11:31:59 +0000 (11:31 +0000)]
Implement cast bool to X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5012
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 11:22:48 +0000 (11:22 +0000)]
Rename all BMI MachineBasicBlock operands to MBB.
Try to mess around with emitGEPOperation's elementSizeReg to make it work,
again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 10:50:40 +0000 (10:50 +0000)]
Finish up iterator stuph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5009
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 10:43:09 +0000 (10:43 +0000)]
Treat longs as ints => pretend they're all 32-bit values and squeeze them into
32-bit registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5008
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 10:42:31 +0000 (10:42 +0000)]
Fixed bug with running out of registers. Also, reinstated namespace which
disappeared during the last checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 10:13:45 +0000 (10:13 +0000)]
Return success on success
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5006
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 10:12:50 +0000 (10:12 +0000)]
Test more phi stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5005
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 10:09:43 +0000 (10:09 +0000)]
Code gen phi's correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 09:59:26 +0000 (09:59 +0000)]
Print X86 PHI nodes in a sane manner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5003
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 09:54:36 +0000 (09:54 +0000)]
This should handle register allocating PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5002
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 09:54:12 +0000 (09:54 +0000)]
Added moveReg2Reg() and moveImm2Reg() to accomodate moving data around due to
PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5001
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 09:33:06 +0000 (09:33 +0000)]
Final version of BuildMI for symmetry and because I want to use it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5000
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 09:28:50 +0000 (09:28 +0000)]
lib/Target/X86/InstSelectSimple.cpp: Start counting arguments with 2,
because arguments start two stack slots off of EBP. Break out of the
for loop once the argument is found. Increment the counter at the end
of the loop instead of the beginning. Use addRegOffset and compute
the scale * index part at compile time instead of using the fancy
load instruction. Just because an instruction set has wacky addressing
modes doesn't mean we ought to use them (at least, if you believe Dave
Patterson).
lib/Target/X86/X86InstrBuilder.h: Add some comments.
test/Regression/Jello/test-loadstore.ll: Let main return int 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4999
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 07:56:18 +0000 (07:56 +0000)]
InstSelectSimple.cpp: Give promote32 a comment. Add initial
implementation of getReg() for arguments.
MachineCodeEmitter.cpp: Fix using EBP with index, scale and no
displacement (whew!) due to Chris.
Printer.cpp: Fix printing out index and scale in memory references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4998
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 07:30:45 +0000 (07:30 +0000)]
Get rid of deprecated function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4997
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 06:57:24 +0000 (06:57 +0000)]
return 0 on success
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4996
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 06:56:29 +0000 (06:56 +0000)]
Implement getelementptr constant exprs
Implement ConstantPointerRefs
Treat long/ulongs as if they were integers. A hack, but an effective one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4995
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 06:46:31 +0000 (06:46 +0000)]
brg
InstSelectSimple.cpp: Add stub implementation of visitFreeInst.
Add comments that mention how we are failing to implement malloc/free.
Add initial implementation of visitAllocaInst.
X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h.
Add LowerAllocations pass before instruction selection.
jello/Makefile: Add scalaropts.a.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 06:01:21 +0000 (06:01 +0000)]
getelementptr uses long instead of uint indexes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:51:32 +0000 (05:51 +0000)]
Stop sucking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4992
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 05:44:21 +0000 (05:44 +0000)]
Making main() return 0 so that we know it ran successfully when it exits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4991
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 05:43:36 +0000 (05:43 +0000)]
Making main() return 0 to exit without error when no error actually occurs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:42:57 +0000 (05:42 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:40:28 +0000 (05:40 +0000)]
Implement branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:28:50 +0000 (05:28 +0000)]
Infinite loops, are, well, not good
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4987
91177308-0d34-0410-b5e6-
96231b3b80d8