Andrew Lenharth
|
85f34a5682
|
Yea, it wasn't happy
llvm-svn: 21132
|
2005-04-07 13:55:53 +00:00 |
Alkis Evlogimenos
|
7ca0947274
|
Make these 64 bit constants so that this compiles on x86-32 as well.
llvm-svn: 21125
|
2005-04-06 22:09:40 +00:00 |
Andrew Lenharth
|
3ea17c6cfe
|
added sdiv by 2^k and works for neg divisors also
llvm-svn: 21124
|
2005-04-06 22:03:13 +00:00 |
Andrew Lenharth
|
df3256aa7f
|
fix copy/paste errors, and add imm support to SxADDQ and SxSUBQ
llvm-svn: 21121
|
2005-04-06 20:59:59 +00:00 |
Andrew Lenharth
|
1d4747c302
|
Added Nate's div by constant stuff, also scaled operations!
llvm-svn: 21116
|
2005-04-06 20:25:34 +00:00 |
Andrew Lenharth
|
43f78bc2da
|
added lowerargs support for varargs
llvm-svn: 21101
|
2005-04-05 20:51:46 +00:00 |
Andrew Lenharth
|
79e727e8a7
|
is this simpler? I think it is simpler.
llvm-svn: 21064
|
2005-04-03 20:35:21 +00:00 |
Andrew Lenharth
|
7ce5740de9
|
fix 101 regressions
llvm-svn: 21063
|
2005-04-03 18:24:50 +00:00 |
Andrew Lenharth
|
46897ab49e
|
Select optimization
llvm-svn: 21051
|
2005-04-02 22:32:39 +00:00 |
Andrew Lenharth
|
f029d795f0
|
Try several things. 1) drop /i from FP ops 2) factor out FP to Int moves and provide 21264 support for those 3) match not 4) match ornot andnot xornot
llvm-svn: 21046
|
2005-04-02 21:06:51 +00:00 |
Andrew Lenharth
|
e7ae400bc8
|
FNEG/FABS/UNDEF
llvm-svn: 21029
|
2005-04-02 19:11:07 +00:00 |
Andrew Lenharth
|
7ad3697e1e
|
FNEG/FABS
llvm-svn: 21028
|
2005-04-02 19:04:58 +00:00 |
Chris Lattner
|
0b7e4cd107
|
This target doesn't support fabs/fneg yet.
llvm-svn: 21010
|
2005-04-02 05:03:24 +00:00 |
Andrew Lenharth
|
3bf6f80588
|
make fp div trick dependend on flag
llvm-svn: 20967
|
2005-03-31 22:02:25 +00:00 |
Andrew Lenharth
|
dec53920b4
|
PCMarker support for DAG and Alpha
llvm-svn: 20965
|
2005-03-31 21:24:06 +00:00 |
Andrew Lenharth
|
e3d9f8c4f9
|
yea, fine Duraid
llvm-svn: 20942
|
2005-03-30 18:22:52 +00:00 |
Andrew Lenharth
|
93d008990e
|
Fix up some types and constants
llvm-svn: 20928
|
2005-03-29 19:24:04 +00:00 |
Nate Begeman
|
f656525cb6
|
Change interface to LowerCallTo to take a boolean isVarArg argument.
llvm-svn: 20842
|
2005-03-26 01:29:23 +00:00 |
Nate Begeman
|
952105220e
|
Remove comments that are now meaningless from the pattern ISels, at Chris's
request.
llvm-svn: 20804
|
2005-03-24 04:39:54 +00:00 |
Andrew Lenharth
|
82f364515c
|
don't lie to the register allocator
llvm-svn: 20784
|
2005-03-23 15:20:01 +00:00 |
Andrew Lenharth
|
8180e87e51
|
hum, it is good to use real instructions
llvm-svn: 20769
|
2005-03-22 16:42:52 +00:00 |
Andrew Lenharth
|
6294dee913
|
two things: 1)evilness reduction patch, reduces the number of instructions hiding in the small jump CC moving code. 2)implement div of small data types by FP DIV (also reduces evilness and should speed things up)
llvm-svn: 20756
|
2005-03-22 00:24:07 +00:00 |
Chris Lattner
|
7b9020a059
|
Fix the missing symbols problem Bill was hitting. Patch contributed by
Bill Wendling!!
llvm-svn: 20649
|
2005-03-17 15:38:16 +00:00 |
Andrew Lenharth
|
aa254d5f79
|
sure, I can set a flag, but if I never check it, why bother setting it? Should fix 20 programs :)
llvm-svn: 20623
|
2005-03-15 19:51:19 +00:00 |
Chris Lattner
|
531f9e92d4
|
This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
2005-03-15 04:54:21 +00:00 |
Andrew Lenharth
|
0b9096bcc5
|
FP 0.0 setcc optimization, and generate short branch sequence for setcc(FP) rather than stack usage
llvm-svn: 20589
|
2005-03-14 19:23:45 +00:00 |
Andrew Lenharth
|
af9a15fe64
|
Should fix mesa
llvm-svn: 20577
|
2005-03-13 00:43:20 +00:00 |
Andrew Lenharth
|
27a3df07a0
|
remove a pseudo instruction and improve inline constant generation
llvm-svn: 20563
|
2005-03-11 17:48:05 +00:00 |
Andrew Lenharth
|
7728eb7b80
|
some typoes and .bss isn't liked, at all
llvm-svn: 20542
|
2005-03-10 19:02:02 +00:00 |
Andrew Lenharth
|
8145fec740
|
minor correction for Register that isn't used
llvm-svn: 20535
|
2005-03-09 20:48:23 +00:00 |
Chris Lattner
|
f246ef3e2f
|
don't break the build on 32-bit hosts.
llvm-svn: 20455
|
2005-03-05 17:47:38 +00:00 |
Andrew Lenharth
|
7c954c6d13
|
fix data size stuff for architectures with bit challenged data types
llvm-svn: 20453
|
2005-03-05 15:30:33 +00:00 |
Andrew Lenharth
|
f3cd1477c3
|
fix up stack pointer adjustments
llvm-svn: 20442
|
2005-03-04 21:40:02 +00:00 |
Andrew Lenharth
|
8df62dda57
|
fix FCMOVxx typo, set rem and div to hardcode target reg to be the same as the one the assembler uese, update ISel to put values in regs used by assembler for rem and div
llvm-svn: 20434
|
2005-03-04 20:09:23 +00:00 |
Andrew Lenharth
|
f0ab14aa24
|
turn on IEEE for compares
llvm-svn: 20425
|
2005-03-03 22:12:11 +00:00 |
Andrew Lenharth
|
6a5f52d15a
|
beter Select on FP
llvm-svn: 20424
|
2005-03-03 21:47:53 +00:00 |
Andrew Lenharth
|
00348ce902
|
LSR cleanup patch
llvm-svn: 20422
|
2005-03-03 19:03:21 +00:00 |
Andrew Lenharth
|
180a04a4bb
|
remove 32 sign extend after 32 sextload and handle small negative constant
llvm-svn: 20408
|
2005-03-02 17:23:03 +00:00 |
Andrew Lenharth
|
ed4b6488a7
|
Added LSR as a beta pass for alpha
llvm-svn: 20407
|
2005-03-02 17:21:38 +00:00 |
Andrew Lenharth
|
76eff48195
|
fix integer division and stuff
llvm-svn: 20372
|
2005-02-28 17:22:18 +00:00 |
Andrew Lenharth
|
10bc4c0ff6
|
make BB labels be exported for debuging, add fp negation optimization, further pecimise the FP instructions
llvm-svn: 20332
|
2005-02-25 22:55:15 +00:00 |
Andrew Lenharth
|
904650cdd0
|
fix Allocas. Really. I mean it this time.
llvm-svn: 20306
|
2005-02-24 18:36:32 +00:00 |
Andrew Lenharth
|
27cf4eb1c7
|
Ah the problems you have to fix when you stray from the One True Way (TM)
llvm-svn: 20290
|
2005-02-23 17:33:42 +00:00 |
Andrew Lenharth
|
ccdfdd7aee
|
oops
llvm-svn: 20278
|
2005-02-22 23:29:25 +00:00 |
Andrew Lenharth
|
7ac0143fa6
|
dynamic stack allocas
llvm-svn: 20273
|
2005-02-22 21:59:48 +00:00 |
Andrew Lenharth
|
5ab3986e49
|
no longer build as a shared library
llvm-svn: 20264
|
2005-02-22 04:58:26 +00:00 |
Andrew Lenharth
|
cae2f21e3b
|
fix setcc on floats, fixes singlesource:pi, perhaps others
llvm-svn: 20172
|
2005-02-14 05:41:43 +00:00 |
Andrew Lenharth
|
d39febfc66
|
try to do better match for i32 adds
llvm-svn: 20143
|
2005-02-12 21:11:17 +00:00 |
Andrew Lenharth
|
ab4db0522a
|
make FP conversion more conservative (matches gcc)
llvm-svn: 20142
|
2005-02-12 21:10:58 +00:00 |
Andrew Lenharth
|
df5cd0868f
|
oops, I was sure this had already gond though the nightly tester
llvm-svn: 20141
|
2005-02-12 20:42:09 +00:00 |
Andrew Lenharth
|
76c5d97750
|
added sign extend for boolean
llvm-svn: 20137
|
2005-02-12 19:35:12 +00:00 |
Andrew Lenharth
|
b301af712e
|
fix a bunch of regressions due to call behavior
llvm-svn: 20110
|
2005-02-10 20:10:38 +00:00 |
Andrew Lenharth
|
e0b789fdf5
|
so, if you beat on it, you too can talk emacs into having a sane indenting policy... Also, optimize many function calls with pc-relative calls (partial prologue skipping for that case coming soon), try to fix the random jumps to strange places problem by pesimizing div et. al. register usage and fixing up GP before using, some calling convention tweaks, and make frame pointer unallocatable (not strickly necessary, but let's go for correctness first)
llvm-svn: 20106
|
2005-02-10 06:25:22 +00:00 |
Andrew Lenharth
|
f70ef47ee1
|
fix fp branch
llvm-svn: 20105
|
2005-02-10 05:17:38 +00:00 |
Misha Brukman
|
06a1d47f96
|
* Fix spelling of `volatile'
* Align comments with tablegen elements
llvm-svn: 20103
|
2005-02-10 01:52:22 +00:00 |
Andrew Lenharth
|
8ec0a2b13a
|
BranchCC, nifty
llvm-svn: 20067
|
2005-02-08 00:40:03 +00:00 |
Andrew Lenharth
|
d4f440de0f
|
fix store issue and an FP conversion (segfault) issue
llvm-svn: 20066
|
2005-02-07 23:02:23 +00:00 |
Andrew Lenharth
|
9d3f7704fd
|
copytoreg fix
llvm-svn: 20063
|
2005-02-07 06:31:44 +00:00 |
Andrew Lenharth
|
57047720ce
|
copyfromreg fix
llvm-svn: 20062
|
2005-02-07 06:21:37 +00:00 |
Andrew Lenharth
|
351df0c2dc
|
fix load bug
llvm-svn: 20061
|
2005-02-07 05:55:55 +00:00 |
Andrew Lenharth
|
5d004edc3d
|
more FP load store fixes and Load store simplifications
llvm-svn: 20060
|
2005-02-07 05:33:15 +00:00 |
Andrew Lenharth
|
5fb9b53060
|
clean up load and stores alot
llvm-svn: 20059
|
2005-02-07 05:18:02 +00:00 |
Andrew Lenharth
|
a9e02156ce
|
teach all loads and stores about the stack
llvm-svn: 20058
|
2005-02-07 05:07:00 +00:00 |
Andrew Lenharth
|
0021f55863
|
prefer FP scratch registers and more check in LowerArguments
llvm-svn: 20057
|
2005-02-06 21:07:31 +00:00 |
Andrew Lenharth
|
eefd410522
|
fix oopso
llvm-svn: 20056
|
2005-02-06 16:22:15 +00:00 |
Andrew Lenharth
|
6c018f77d1
|
smarter loads and stores. can now handle base+offset.
llvm-svn: 20055
|
2005-02-06 15:40:40 +00:00 |
Andrew Lenharth
|
d9bf7b81eb
|
fix build
llvm-svn: 20053
|
2005-02-05 19:46:51 +00:00 |
Andrew Lenharth
|
7be9854594
|
clean up
llvm-svn: 20051
|
2005-02-05 17:41:39 +00:00 |
Andrew Lenharth
|
ea9224a69a
|
fix f32 setcc, and fp select
llvm-svn: 20050
|
2005-02-05 16:41:03 +00:00 |
Andrew Lenharth
|
060d58b88f
|
added ugly support for fp compares
llvm-svn: 20049
|
2005-02-05 13:19:12 +00:00 |
Misha Brukman
|
ffe9968b5a
|
Make the rest of file header comments consistent in format and style
llvm-svn: 20048
|
2005-02-05 02:24:26 +00:00 |
Misha Brukman
|
076b9f4507
|
Make file header comment consistent: extend the whole 80 cols to fill the line
llvm-svn: 20039
|
2005-02-04 20:25:52 +00:00 |
Andrew Lenharth
|
5152be292a
|
alignment
llvm-svn: 20028
|
2005-02-04 14:09:38 +00:00 |
Andrew Lenharth
|
202011fcc7
|
get alignment printing correctly and get rid of __main hack
llvm-svn: 20027
|
2005-02-04 14:01:21 +00:00 |
Andrew Lenharth
|
799479138e
|
FP fixes
llvm-svn: 20019
|
2005-02-03 21:01:15 +00:00 |
Andrew Lenharth
|
75c6225f32
|
Store fix
llvm-svn: 20004
|
2005-02-02 17:32:39 +00:00 |
Andrew Lenharth
|
cf2e21e879
|
oops
llvm-svn: 20003
|
2005-02-02 17:01:31 +00:00 |
Andrew Lenharth
|
fe6e7a30c0
|
prevent register allocator from using the stack pointer :)
llvm-svn: 20002
|
2005-02-02 17:00:21 +00:00 |
Andrew Lenharth
|
c7042c2d8b
|
fix loading of floats
llvm-svn: 19997
|
2005-02-02 15:05:33 +00:00 |
Andrew Lenharth
|
0f42d92ca0
|
marked mem* as not supported
llvm-svn: 19992
|
2005-02-02 05:49:42 +00:00 |
Andrew Lenharth
|
07c0b0d92b
|
fix Load bug
llvm-svn: 19987
|
2005-02-02 04:35:44 +00:00 |
Andrew Lenharth
|
c7e55f430c
|
try to make a bug bugpointable, add yet more constant pool stuff, fixup constant loads for FP
llvm-svn: 19985
|
2005-02-02 03:36:35 +00:00 |
Andrew Lenharth
|
ae88b6a8a8
|
better constant handling, should fix many remaining cases
llvm-svn: 19984
|
2005-02-02 00:51:15 +00:00 |
Andrew Lenharth
|
9df6a764b9
|
fix FP arg passing bug, Add unsigned to/from int, fix SELECT, fix Constant pool
llvm-svn: 19976
|
2005-02-01 20:40:27 +00:00 |
Andrew Lenharth
|
20d8b2ff71
|
Print the Constant pool
llvm-svn: 19975
|
2005-02-01 20:38:53 +00:00 |
Andrew Lenharth
|
32124c0a70
|
Make cmov work right and loads for fp from constant pool
llvm-svn: 19974
|
2005-02-01 20:36:44 +00:00 |
Andrew Lenharth
|
c777d4f03d
|
Correct stack stuff for FP
llvm-svn: 19973
|
2005-02-01 20:35:57 +00:00 |
Andrew Lenharth
|
8fb0d5002b
|
try to match alpha pattern
llvm-svn: 19972
|
2005-02-01 20:35:11 +00:00 |
Andrew Lenharth
|
7703d1ab25
|
fix register names
llvm-svn: 19971
|
2005-02-01 20:34:29 +00:00 |
Andrew Lenharth
|
cdc9e33ae5
|
pecimise loads, put indirect call addr in right register. still doesn't fix methcall
llvm-svn: 19963
|
2005-02-01 01:37:24 +00:00 |
Andrew Lenharth
|
ae25bb1dc5
|
indirect call fix
llvm-svn: 19945
|
2005-01-31 03:19:31 +00:00 |
Andrew Lenharth
|
c40d156dc9
|
fp to int and back conversion sequences
llvm-svn: 19944
|
2005-01-31 01:44:26 +00:00 |
Andrew Lenharth
|
7141334f98
|
added fp extend and removed a forgotten assert in more than 6 arg support (should break somewhere else now :) ) and fix an incorrect asm sequence for indirect calls
llvm-svn: 19938
|
2005-01-30 20:42:36 +00:00 |
Chris Lattner
|
8e62f434cd
|
This code is really unreachable.
llvm-svn: 19934
|
2005-01-30 16:33:46 +00:00 |
Chris Lattner
|
bfa060c5d2
|
Fix warnings.
llvm-svn: 19933
|
2005-01-30 16:32:48 +00:00 |
Andrew Lenharth
|
918a29fc51
|
support for larger calls
llvm-svn: 19932
|
2005-01-30 00:35:27 +00:00 |
Chris Lattner
|
fdec565f1f
|
Unbreak the build :(
llvm-svn: 19926
|
2005-01-29 19:27:28 +00:00 |
Andrew Lenharth
|
41bc2c2897
|
first step towards a correct and complete stack. also add some forms for things that were getting stuck in the nightly tester.
llvm-svn: 19914
|
2005-01-29 15:42:07 +00:00 |
Andrew Lenharth
|
4a0d200c13
|
fix ExprMap, partially teach about add long
llvm-svn: 19882
|
2005-01-28 23:17:54 +00:00 |
Andrew Lenharth
|
579a324137
|
fix ExprMap and constant check in setcc
llvm-svn: 19870
|
2005-01-28 14:06:46 +00:00 |
Andrew Lenharth
|
479bc61455
|
move FP into it's own select
llvm-svn: 19867
|
2005-01-28 06:57:18 +00:00 |
Andrew Lenharth
|
7c538a6593
|
stack frame fix and zero FP reg fix
llvm-svn: 19857
|
2005-01-27 08:31:19 +00:00 |
Andrew Lenharth
|
96515adad6
|
Floating point instructions like Floating point registers
llvm-svn: 19856
|
2005-01-27 07:58:15 +00:00 |
Andrew Lenharth
|
0cceb5165e
|
int to float conversion and another setcc
llvm-svn: 19855
|
2005-01-27 07:50:35 +00:00 |
Andrew Lenharth
|
3c361fd6f7
|
teach isel about comparison with constants and zero extending bits
llvm-svn: 19853
|
2005-01-27 03:49:45 +00:00 |
Andrew Lenharth
|
5374789198
|
perhaps this will let me have calls again
llvm-svn: 19851
|
2005-01-27 01:22:48 +00:00 |
Andrew Lenharth
|
9e27e54d70
|
minor bug fix
llvm-svn: 19850
|
2005-01-27 00:52:26 +00:00 |
Andrew Lenharth
|
9748b623a4
|
minor bug fix
llvm-svn: 19849
|
2005-01-27 00:51:05 +00:00 |
Andrew Lenharth
|
267908ad47
|
added instructions for fp to int to fp moves
llvm-svn: 19848
|
2005-01-26 23:56:48 +00:00 |
Andrew Lenharth
|
5ae5f81720
|
initial fp support
llvm-svn: 19847
|
2005-01-26 21:54:09 +00:00 |
Andrew Lenharth
|
589304de7f
|
hum, writing on one machine, testing on another...
llvm-svn: 19844
|
2005-01-26 02:53:56 +00:00 |
Andrew Lenharth
|
02c5459948
|
add some operations, fix others. should compile several more tests now
llvm-svn: 19843
|
2005-01-26 01:24:38 +00:00 |
Andrew Lenharth
|
ba2bcd867f
|
problems with bools, and their work arounds
llvm-svn: 19833
|
2005-01-25 19:58:40 +00:00 |
Andrew Lenharth
|
122489bcab
|
more load choices, better add with imm
llvm-svn: 19821
|
2005-01-25 00:35:34 +00:00 |
Andrew Lenharth
|
2f0f845534
|
Clean ups, and taught the instruction selector about immediate forms
llvm-svn: 19816
|
2005-01-24 19:44:07 +00:00 |
Andrew Lenharth
|
6d1a96bccc
|
Alpha JIT prune
llvm-svn: 19815
|
2005-01-24 18:48:22 +00:00 |
Andrew Lenharth
|
3c12772190
|
include prune and JIT prune
llvm-svn: 19814
|
2005-01-24 18:45:41 +00:00 |
Andrew Lenharth
|
4680f89526
|
Pruned includes
llvm-svn: 19813
|
2005-01-24 18:37:48 +00:00 |
Andrew Lenharth
|
a1b5ca2b9d
|
Let me introduce you to the early stages of the llvm backend for the alpha processor
llvm-svn: 19764
|
2005-01-22 23:41:55 +00:00 |