Vikram S. Adve
68690673ad
Keep global nodes in each DS Graph (by forcing them to be marked live).
...
llvm-svn: 4831
2002-11-25 18:21:25 +00:00
Misha Brukman
5014e38273
Oops. Got the MOVrm and MOVmr mixed up. Fixed. We can now print out
...
instructions correctly.
llvm-svn: 4830
2002-11-22 23:15:27 +00:00
Misha Brukman
55cf6bfae4
Enable the register allocator pass.
...
llvm-svn: 4829
2002-11-22 22:45:07 +00:00
Misha Brukman
60286d0916
A simple (spilling) register allocator.
...
llvm-svn: 4828
2002-11-22 22:44:32 +00:00
Misha Brukman
bde217d7a9
Added methods to read/write values to stack in .h, fixed implementation in
...
.cpp to return the iterator correctly.
llvm-svn: 4827
2002-11-22 22:43:47 +00:00
Misha Brukman
1a72c637fb
Added -*- C++ -*- mode to the comments.
...
llvm-svn: 4826
2002-11-22 22:42:50 +00:00
Misha Brukman
4ea94a4be0
Add a simple way to add memory locations of format [reg+offset]
...
llvm-svn: 4825
2002-11-22 22:42:12 +00:00
Misha Brukman
ec6b8e9fad
Added virtual functions for storing and retrieving values from the stack.
...
llvm-svn: 4824
2002-11-22 22:41:23 +00:00
Misha Brukman
5bed2faf6b
Instead of checking op.getType() against MO_VirtualRegister and
...
MO_MachineRegister, we no longer distinguish Virtual vs. Machine registers
externally, they're ALL registers, all equal.
Registers are only differentiated whether they are >=
MRegisterInfo::FirstVirtual or not.
llvm-svn: 4823
2002-11-22 22:40:52 +00:00
Misha Brukman
31457f066d
Set SSARegMap to NULL after deleting it.
...
llvm-svn: 4822
2002-11-22 22:32:15 +00:00
Brian Gaeke
aa91eae6af
lib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst.
...
llvm-svn: 4821
2002-11-22 11:07:01 +00:00
Chris Lattner
d2b1b2c8ac
Make testcase more interesting
...
llvm-svn: 4820
2002-11-21 23:30:08 +00:00
Chris Lattner
e5330c4adf
Handle cmp Reg, 0 correctly
...
llvm-svn: 4819
2002-11-21 23:30:00 +00:00
Chris Lattner
f435afc268
Printing support for more stuff
...
llvm-svn: 4818
2002-11-21 22:49:46 +00:00
Chris Lattner
174a94007d
Don't add implicit operands
...
llvm-svn: 4817
2002-11-21 22:49:20 +00:00
Chris Lattner
b35341ee25
Fix off by one bug
...
llvm-svn: 4816
2002-11-21 22:48:15 +00:00
Chris Lattner
af7bd2c6b5
Add fixme
...
llvm-svn: 4815
2002-11-21 22:48:01 +00:00
Chris Lattner
1c80d37765
Minor code cleanups
...
llvm-svn: 4814
2002-11-21 21:04:50 +00:00
Chris Lattner
4fbd8a2f78
Implement printing of store instructions
...
llvm-svn: 4813
2002-11-21 21:03:39 +00:00
Chris Lattner
61fafd35f5
The big change here is to handle printing/emission of X86II::MRMSrcMem
...
instructions. Right now the only users are load instructions, and Misha's
spill code
llvm-svn: 4812
2002-11-21 20:44:15 +00:00
Chris Lattner
cf7c225e06
Remove implicit information from instruction selector
...
llvm-svn: 4811
2002-11-21 18:54:29 +00:00
Chris Lattner
e8885d949a
Add printing information for MUL and DIV
...
llvm-svn: 4810
2002-11-21 18:54:14 +00:00
Chris Lattner
5e50475adb
Fix a bug that prevented compilation of multiple functions
...
llvm-svn: 4809
2002-11-21 17:26:58 +00:00
Chris Lattner
3d8fc7fc85
Move test
...
llvm-svn: 4808
2002-11-21 17:20:32 +00:00
Chris Lattner
61574bb7ad
Shuffle testcases around
...
llvm-svn: 4807
2002-11-21 17:20:12 +00:00
Chris Lattner
76116fae3e
New testcase
...
llvm-svn: 4806
2002-11-21 17:18:37 +00:00
Chris Lattner
7939ecc8eb
Remove opcode information for instructions that are completely defined now
...
llvm-svn: 4805
2002-11-21 17:12:55 +00:00
Chris Lattner
1f9530508b
Add printing support for sahf & setcc
...
llvm-svn: 4804
2002-11-21 17:10:57 +00:00
Chris Lattner
c868841ad6
Add printing support for /0 /1 type instructions
...
llvm-svn: 4803
2002-11-21 17:09:01 +00:00
Chris Lattner
a6eb52fcf7
Add support for /0 /1, etc type instructions
...
llvm-svn: 4802
2002-11-21 17:08:49 +00:00
Chris Lattner
903a25d225
User defined operators are not supposed to live beyond the lifetime of the
...
pass. Detect and flag them.
llvm-svn: 4801
2002-11-21 16:54:22 +00:00
Chris Lattner
41e2d4cdcf
Rename the SetCC X86 instructions to reflect the fact that they are the
...
register versions
llvm-svn: 4800
2002-11-21 16:19:42 +00:00
Chris Lattner
45ddd59da5
Simplify setcc code a bit
...
llvm-svn: 4799
2002-11-21 15:52:38 +00:00
Chris Lattner
177e928a46
Support Registers of the form (B8+ rd) for example
...
llvm-svn: 4798
2002-11-21 02:00:20 +00:00
Chris Lattner
3a3ac9d225
Dont' set flags
...
llvm-svn: 4797
2002-11-21 01:59:50 +00:00
Chris Lattner
6985c19b61
Implement printing more, implement opcode output more
...
llvm-svn: 4796
2002-11-21 01:33:44 +00:00
Chris Lattner
dfbfd81217
Huge diff do to reindeinting comments.
...
Basically just adds OpSize flags for instructions that need them.
llvm-svn: 4795
2002-11-21 01:33:28 +00:00
Chris Lattner
c48d0fa9a2
Add new prefix flag
...
llvm-svn: 4794
2002-11-21 01:32:55 +00:00
Chris Lattner
f03132f014
Print another class of instructions correctly, giving us: xorl EDX, EDX
...
for example.
llvm-svn: 4793
2002-11-21 00:30:01 +00:00
Misha Brukman
95e6287734
Booleans are types too. And they get stored in bytes. And InstructionSelection
...
doesn't assert fail. And everyone's happy. Yay!
llvm-svn: 4792
2002-11-21 00:25:56 +00:00
Chris Lattner
185972c7e6
Checkin testcases for bugpoint
...
llvm-svn: 4791
2002-11-20 22:30:02 +00:00
Chris Lattner
12caa7a9cf
Build bugpoint
...
llvm-svn: 4790
2002-11-20 22:28:18 +00:00
Chris Lattner
73a6bdd958
Initial checkin of bugpoint
...
llvm-svn: 4789
2002-11-20 22:28:10 +00:00
Chris Lattner
e4dbb1af42
Initial checkin of Module cloning support stuff
...
llvm-svn: 4788
2002-11-20 20:47:41 +00:00
Chris Lattner
a35d7412c6
Cloning stuff doesn't modify the source module
...
llvm-svn: 4787
2002-11-20 20:22:58 +00:00
Chris Lattner
c4841a7738
X86 target builds fine now
...
llvm-svn: 4786
2002-11-20 20:17:03 +00:00
Chris Lattner
8016a16ed0
Fix symbol table problem
...
llvm-svn: 4785
2002-11-20 19:32:43 +00:00
Misha Brukman
53d2de923a
Add definitions for function headers from MRegisterInfo.h:
...
Some functions are in X86RegisterInfo.cpp, others, because of the data they
need, are in X86RegisterClasses.cpp, which also defines some register classes:
byte, short, and int.
llvm-svn: 4784
2002-11-20 18:59:43 +00:00
Misha Brukman
6e5d493e0f
Check not only for MO_VirtualRegister, but MO_MachineRegister as well when
...
printing out assembly. After all, we want the real thing too.
llvm-svn: 4783
2002-11-20 18:56:41 +00:00
Misha Brukman
d5b111a10c
Initialize the SSARegMap.
...
llvm-svn: 4782
2002-11-20 18:55:27 +00:00