Nate Begeman
|
a1e0a2f72b
|
Remove unused statistic
Prefer 'neg X' to 'subfic 0, X' since neg does not set XER[CA]
llvm-svn: 23001
|
2005-08-24 05:03:20 +00:00 |
Chris Lattner
|
b6d034a841
|
Add callseq_begin/end support
Call stil not supported yet
llvm-svn: 22998
|
2005-08-24 00:47:15 +00:00 |
Chris Lattner
|
ca0c0d7550
|
Implement stores.
llvm-svn: 22963
|
2005-08-22 01:27:59 +00:00 |
Chris Lattner
|
1d634b2f44
|
Fix compilation of:
float %test2(float* %P) {
%Q = load float* %P
%R = add float %Q, %Q
ret float %R
}
By returning the right result.
llvm-svn: 22961
|
2005-08-22 00:59:14 +00:00 |
Chris Lattner
|
c5292ec9de
|
Implement most of load support. There is still a bug though.
llvm-svn: 22959
|
2005-08-21 22:31:09 +00:00 |
Chris Lattner
|
2a1823d178
|
Implement selection for branches.
llvm-svn: 22951
|
2005-08-21 18:50:37 +00:00 |
Chris Lattner
|
4564039498
|
add support for global address, including PIC support.
This REALLY should be lowered by the legalizer!
llvm-svn: 22941
|
2005-08-19 22:38:53 +00:00 |
Chris Lattner
|
65d66797a5
|
Fix a typeo, no wonder all tokenfactor edges were the same!
llvm-svn: 22935
|
2005-08-19 21:33:02 +00:00 |
Nate Begeman
|
93c4bc6dca
|
ISD::OR, and it's accompanying SelectBitfieldInsert
llvm-svn: 22889
|
2005-08-19 00:38:14 +00:00 |
Nate Begeman
|
33acb2c135
|
Add shifts.
llvm-svn: 22884
|
2005-08-18 23:38:00 +00:00 |
Chris Lattner
|
4e00ff6e70
|
Move this to the emitter
llvm-svn: 22877
|
2005-08-18 20:08:53 +00:00 |
Chris Lattner
|
015d73996d
|
After selecting the instructions for a basic block, emit the instructions
llvm-svn: 22869
|
2005-08-18 18:46:06 +00:00 |
Chris Lattner
|
15b5c7ca84
|
remove some unused stuff
llvm-svn: 22866
|
2005-08-18 18:34:00 +00:00 |
Nate Begeman
|
d32638706a
|
Improve ISD::Constant codegen.
Now for int foo() { return -1; } we generate:
_foo:
li r3, -1
blr
instead of
_foo:
lis r2, -1
ori r3, r2, 65535
blr
llvm-svn: 22864
|
2005-08-18 18:01:39 +00:00 |
Nate Begeman
|
b3821a3943
|
Add support for ISD::AND, and its various optimized forms.
llvm-svn: 22857
|
2005-08-18 07:30:46 +00:00 |
Nate Begeman
|
cfb9a74c2e
|
Maintain consistency in negating things
llvm-svn: 22855
|
2005-08-18 05:44:50 +00:00 |
Nate Begeman
|
72d6f8800d
|
Implement XOR, remove a broken sign_extend_inreg case
llvm-svn: 22854
|
2005-08-18 05:00:13 +00:00 |
Nate Begeman
|
4bfb4a215d
|
Add a bunch more simple nodes.
llvm-svn: 22851
|
2005-08-18 03:04:18 +00:00 |
Nate Begeman
|
457367f14c
|
Add a couple more nodes that are easy to handle
llvm-svn: 22850
|
2005-08-18 00:53:47 +00:00 |
Nate Begeman
|
74d5529b88
|
Be fruitful and multiply!
llvm-svn: 22849
|
2005-08-18 00:21:41 +00:00 |
Nate Begeman
|
3fcf47d8f0
|
Teach the DAG->DAG ISel about FNEG, and how it can be used to invert
several of the PowerPC opcodes that come in both negated and non-negated
forms.
llvm-svn: 22845
|
2005-08-17 23:46:35 +00:00 |
Chris Lattner
|
43ff01e2e6
|
initial hack at a dag->dag instruction selector. This is obviously woefully
incomplete, but it is a start. It handles basic argument/retval stuff, immediates,
add and sub.
llvm-svn: 22836
|
2005-08-17 19:33:03 +00:00 |