Andrew Lenharth
|
174d44f223
|
Get rid of idefs for arguments (oops)
llvm-svn: 21251
|
2005-04-12 17:47:57 +00:00 |
|
Andrew Lenharth
|
1b8a8331c9
|
Get rid of idefs for arguments
llvm-svn: 21250
|
2005-04-12 17:35:16 +00:00 |
|
Chris Lattner
|
39f963f968
|
This target does not support/want ISD::BRCONDTWOWAY
llvm-svn: 21164
|
2005-04-09 03:22:37 +00:00 |
|
Andrew Lenharth
|
6eff2083b5
|
collect a few statistics, factor constants (constant loading and mult), fix logic operation pattern matchs, supress FP div when int dividing by a constant
llvm-svn: 21156
|
2005-04-08 17:28:49 +00:00 |
|
Andrew Lenharth
|
b1b7ef0979
|
Alpha zero extends setcc results
llvm-svn: 21149
|
2005-04-07 20:11:32 +00:00 |
|
Andrew Lenharth
|
c3e5c42b86
|
fix a small optimization opertunity and make gcc happy
llvm-svn: 21143
|
2005-04-07 18:15:28 +00:00 |
|
Andrew Lenharth
|
469244a2b4
|
fixup magic constant making code. tested by thousands of random divisions.... by 10000. ok, so random divisors would be good too, but this at least fixes some things
llvm-svn: 21140
|
2005-04-07 17:19:16 +00:00 |
|
Andrew Lenharth
|
61215a78fb
|
lowercase instructions, makes diff happier
llvm-svn: 21139
|
2005-04-07 17:17:48 +00:00 |
|
Andrew Lenharth
|
3d1228500d
|
It wasn't happy about this either
llvm-svn: 21133
|
2005-04-07 14:18:13 +00:00 |
|
Andrew Lenharth
|
ce0dcea720
|
Yea, it wasn't happy
llvm-svn: 21132
|
2005-04-07 13:55:53 +00:00 |
|
Alkis Evlogimenos
|
242fe17bc4
|
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
|
abf46a4f5e
|
added sdiv by 2^k and works for neg divisors also
llvm-svn: 21124
|
2005-04-06 22:03:13 +00:00 |
|
Andrew Lenharth
|
5c71402202
|
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
|
9f65102f9b
|
Added Nate's div by constant stuff, also scaled operations!
llvm-svn: 21116
|
2005-04-06 20:25:34 +00:00 |
|
Andrew Lenharth
|
613a940af8
|
added lowerargs support for varargs
llvm-svn: 21101
|
2005-04-05 20:51:46 +00:00 |
|
Andrew Lenharth
|
320fff1cbe
|
is this simpler? I think it is simpler.
llvm-svn: 21064
|
2005-04-03 20:35:21 +00:00 |
|
Andrew Lenharth
|
4be5502eb4
|
fix 101 regressions
llvm-svn: 21063
|
2005-04-03 18:24:50 +00:00 |
|
Andrew Lenharth
|
c16ede8779
|
Select optimization
llvm-svn: 21051
|
2005-04-02 22:32:39 +00:00 |
|
Andrew Lenharth
|
bd19c1d25f
|
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
|
08e5b4f996
|
FNEG/FABS/UNDEF
llvm-svn: 21029
|
2005-04-02 19:11:07 +00:00 |
|
Andrew Lenharth
|
04fd317736
|
FNEG/FABS
llvm-svn: 21028
|
2005-04-02 19:04:58 +00:00 |
|
Chris Lattner
|
a5d4718875
|
This target doesn't support fabs/fneg yet.
llvm-svn: 21010
|
2005-04-02 05:03:24 +00:00 |
|
Andrew Lenharth
|
1ba016ab6f
|
make fp div trick dependend on flag
llvm-svn: 20967
|
2005-03-31 22:02:25 +00:00 |
|
Andrew Lenharth
|
7db3834ecf
|
PCMarker support for DAG and Alpha
llvm-svn: 20965
|
2005-03-31 21:24:06 +00:00 |
|
Andrew Lenharth
|
91bd9033c6
|
yea, fine Duraid
llvm-svn: 20942
|
2005-03-30 18:22:52 +00:00 |
|
Andrew Lenharth
|
21c4590f96
|
Fix up some types and constants
llvm-svn: 20928
|
2005-03-29 19:24:04 +00:00 |
|
Nate Begeman
|
f821401825
|
Change interface to LowerCallTo to take a boolean isVarArg argument.
llvm-svn: 20842
|
2005-03-26 01:29:23 +00:00 |
|
Nate Begeman
|
175a9f1cc6
|
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
|
b1bd2e2900
|
don't lie to the register allocator
llvm-svn: 20784
|
2005-03-23 15:20:01 +00:00 |
|
Andrew Lenharth
|
61312ca088
|
hum, it is good to use real instructions
llvm-svn: 20769
|
2005-03-22 16:42:52 +00:00 |
|
Andrew Lenharth
|
5bd65ee784
|
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
|
c9a3ea81bf
|
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
|
fbcfef1558
|
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
|
4b688a1c70
|
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
|
e367587fbb
|
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
|
abe4fd6c68
|
Should fix mesa
llvm-svn: 20577
|
2005-03-13 00:43:20 +00:00 |
|
Andrew Lenharth
|
d289be2b54
|
remove a pseudo instruction and improve inline constant generation
llvm-svn: 20563
|
2005-03-11 17:48:05 +00:00 |
|
Andrew Lenharth
|
1060a5028d
|
some typoes and .bss isn't liked, at all
llvm-svn: 20542
|
2005-03-10 19:02:02 +00:00 |
|
Andrew Lenharth
|
65ef5bced7
|
minor correction for Register that isn't used
llvm-svn: 20535
|
2005-03-09 20:48:23 +00:00 |
|
Chris Lattner
|
f70d80d026
|
don't break the build on 32-bit hosts.
llvm-svn: 20455
|
2005-03-05 17:47:38 +00:00 |
|
Andrew Lenharth
|
ee4072f980
|
fix data size stuff for architectures with bit challenged data types
llvm-svn: 20453
|
2005-03-05 15:30:33 +00:00 |
|
Andrew Lenharth
|
ad4380f06e
|
fix up stack pointer adjustments
llvm-svn: 20442
|
2005-03-04 21:40:02 +00:00 |
|
Andrew Lenharth
|
458e6bcf28
|
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
|
e831777542
|
turn on IEEE for compares
llvm-svn: 20425
|
2005-03-03 22:12:11 +00:00 |
|
Andrew Lenharth
|
e6dbf989b3
|
beter Select on FP
llvm-svn: 20424
|
2005-03-03 21:47:53 +00:00 |
|
Andrew Lenharth
|
b5ddbc074d
|
LSR cleanup patch
llvm-svn: 20422
|
2005-03-03 19:03:21 +00:00 |
|
Andrew Lenharth
|
1e213c7924
|
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
|
8fc5ba2e06
|
Added LSR as a beta pass for alpha
llvm-svn: 20407
|
2005-03-02 17:21:38 +00:00 |
|
Andrew Lenharth
|
7dc9ea9509
|
fix integer division and stuff
llvm-svn: 20372
|
2005-02-28 17:22:18 +00:00 |
|
Andrew Lenharth
|
b5331ffe0f
|
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
|
ef5f87784b
|
fix Allocas. Really. I mean it this time.
llvm-svn: 20306
|
2005-02-24 18:36:32 +00:00 |
|
Andrew Lenharth
|
69a8320c0d
|
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
|
889efe4fb3
|
oops
llvm-svn: 20278
|
2005-02-22 23:29:25 +00:00 |
|
Andrew Lenharth
|
d870103306
|
dynamic stack allocas
llvm-svn: 20273
|
2005-02-22 21:59:48 +00:00 |
|
Andrew Lenharth
|
8ead0f13d3
|
no longer build as a shared library
llvm-svn: 20264
|
2005-02-22 04:58:26 +00:00 |
|
Andrew Lenharth
|
f023ce8d97
|
fix setcc on floats, fixes singlesource:pi, perhaps others
llvm-svn: 20172
|
2005-02-14 05:41:43 +00:00 |
|
Andrew Lenharth
|
e398f7797e
|
try to do better match for i32 adds
llvm-svn: 20143
|
2005-02-12 21:11:17 +00:00 |
|
Andrew Lenharth
|
089b56ae58
|
make FP conversion more conservative (matches gcc)
llvm-svn: 20142
|
2005-02-12 21:10:58 +00:00 |
|
Andrew Lenharth
|
b9c44170a5
|
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
|
a12e5330bf
|
added sign extend for boolean
llvm-svn: 20137
|
2005-02-12 19:35:12 +00:00 |
|
Andrew Lenharth
|
076faf95a8
|
fix a bunch of regressions due to call behavior
llvm-svn: 20110
|
2005-02-10 20:10:38 +00:00 |
|
Andrew Lenharth
|
56c441caf2
|
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
|
6c28128e3e
|
fix fp branch
llvm-svn: 20105
|
2005-02-10 05:17:38 +00:00 |
|
Misha Brukman
|
4bd124492b
|
* Fix spelling of `volatile'
* Align comments with tablegen elements
llvm-svn: 20103
|
2005-02-10 01:52:22 +00:00 |
|
Andrew Lenharth
|
d42ae810cb
|
BranchCC, nifty
llvm-svn: 20067
|
2005-02-08 00:40:03 +00:00 |
|
Andrew Lenharth
|
71fce71669
|
fix store issue and an FP conversion (segfault) issue
llvm-svn: 20066
|
2005-02-07 23:02:23 +00:00 |
|
Andrew Lenharth
|
cf4f405e55
|
copytoreg fix
llvm-svn: 20063
|
2005-02-07 06:31:44 +00:00 |
|
Andrew Lenharth
|
d20853f420
|
copyfromreg fix
llvm-svn: 20062
|
2005-02-07 06:21:37 +00:00 |
|
Andrew Lenharth
|
80cf648100
|
fix load bug
llvm-svn: 20061
|
2005-02-07 05:55:55 +00:00 |
|
Andrew Lenharth
|
9f5502e40f
|
more FP load store fixes and Load store simplifications
llvm-svn: 20060
|
2005-02-07 05:33:15 +00:00 |
|
Andrew Lenharth
|
bc6ddca09c
|
clean up load and stores alot
llvm-svn: 20059
|
2005-02-07 05:18:02 +00:00 |
|
Andrew Lenharth
|
4416315969
|
teach all loads and stores about the stack
llvm-svn: 20058
|
2005-02-07 05:07:00 +00:00 |
|
Andrew Lenharth
|
1b8bf311d2
|
prefer FP scratch registers and more check in LowerArguments
llvm-svn: 20057
|
2005-02-06 21:07:31 +00:00 |
|
Andrew Lenharth
|
23ca0026fa
|
fix oopso
llvm-svn: 20056
|
2005-02-06 16:22:15 +00:00 |
|
Andrew Lenharth
|
baa723abc0
|
smarter loads and stores. can now handle base+offset.
llvm-svn: 20055
|
2005-02-06 15:40:40 +00:00 |
|
Andrew Lenharth
|
9a2bc47fba
|
fix build
llvm-svn: 20053
|
2005-02-05 19:46:51 +00:00 |
|
Andrew Lenharth
|
6bd554a11e
|
clean up
llvm-svn: 20051
|
2005-02-05 17:41:39 +00:00 |
|
Andrew Lenharth
|
9fd7ce4bca
|
fix f32 setcc, and fp select
llvm-svn: 20050
|
2005-02-05 16:41:03 +00:00 |
|
Andrew Lenharth
|
5447bb6596
|
added ugly support for fp compares
llvm-svn: 20049
|
2005-02-05 13:19:12 +00:00 |
|
Misha Brukman
|
75da90f127
|
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
|
74be40e1d2
|
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
|
e081ab1c69
|
alignment
llvm-svn: 20028
|
2005-02-04 14:09:38 +00:00 |
|
Andrew Lenharth
|
68f8792889
|
get alignment printing correctly and get rid of __main hack
llvm-svn: 20027
|
2005-02-04 14:01:21 +00:00 |
|
Andrew Lenharth
|
fa74ac60e6
|
FP fixes
llvm-svn: 20019
|
2005-02-03 21:01:15 +00:00 |
|
Andrew Lenharth
|
d5de7adf26
|
Store fix
llvm-svn: 20004
|
2005-02-02 17:32:39 +00:00 |
|
Andrew Lenharth
|
fef75b04f1
|
oops
llvm-svn: 20003
|
2005-02-02 17:01:31 +00:00 |
|
Andrew Lenharth
|
b4bf49a4ae
|
prevent register allocator from using the stack pointer :)
llvm-svn: 20002
|
2005-02-02 17:00:21 +00:00 |
|
Andrew Lenharth
|
c3e3bd1c22
|
fix loading of floats
llvm-svn: 19997
|
2005-02-02 15:05:33 +00:00 |
|
Andrew Lenharth
|
2482a0ef99
|
marked mem* as not supported
llvm-svn: 19992
|
2005-02-02 05:49:42 +00:00 |
|
Andrew Lenharth
|
a856b4db61
|
fix Load bug
llvm-svn: 19987
|
2005-02-02 04:35:44 +00:00 |
|
Andrew Lenharth
|
35ae745650
|
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
|
5a2bb3de8b
|
better constant handling, should fix many remaining cases
llvm-svn: 19984
|
2005-02-02 00:51:15 +00:00 |
|
Andrew Lenharth
|
172fc4b1fd
|
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
|
9086064b72
|
Print the Constant pool
llvm-svn: 19975
|
2005-02-01 20:38:53 +00:00 |
|
Andrew Lenharth
|
540700124d
|
Make cmov work right and loads for fp from constant pool
llvm-svn: 19974
|
2005-02-01 20:36:44 +00:00 |
|
Andrew Lenharth
|
bf88e70920
|
Correct stack stuff for FP
llvm-svn: 19973
|
2005-02-01 20:35:57 +00:00 |
|
Andrew Lenharth
|
810fa6d4f1
|
try to match alpha pattern
llvm-svn: 19972
|
2005-02-01 20:35:11 +00:00 |
|
Andrew Lenharth
|
b8e15cfe9c
|
fix register names
llvm-svn: 19971
|
2005-02-01 20:34:29 +00:00 |
|
Andrew Lenharth
|
fa52a84802
|
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
|
648e85bb8a
|
indirect call fix
llvm-svn: 19945
|
2005-01-31 03:19:31 +00:00 |
|