Chris Lattner
acb8e66439
new testcase
...
llvm-svn: 24103
2005-10-30 06:37:33 +00:00
Chris Lattner
2724ebe02e
Fix a problem that Nate noticed with LSR:
...
When inserting code for an addrec expression with a non-unit stride, be
more careful where we insert the multiply. In particular, insert the multiply
in the outermost loop we can, instead of the requested insertion point.
This allows LSR to notice the mul in the right loop, reducing it when it gets
to it. This allows it to reduce the multiply, where before it missed it.
This happens quite a bit in the test suite, for example, eliminating 2
multiplies in art, 3 in ammp, 4 in apsi, reducing from 1050 multiplies to
910 muls in galgel (!), from 877 to 859 in applu, and 36 to 30 in bzip2.
This speeds up galgel from 16.45s to 16.01s, applu from 14.21 to 13.94s and
fourinarow from 66.67s to 63.48s.
This implements Transforms/LoopStrengthReduce/nested-reduce.ll
llvm-svn: 24102
2005-10-30 06:24:33 +00:00
Chris Lattner
1ce35bf973
new testcase
...
llvm-svn: 24099
2005-10-30 05:14:02 +00:00
Chris Lattner
d420fe3bfa
Revert an accidental commit.
...
llvm-svn: 24098
2005-10-29 17:01:41 +00:00
Jeff Cohen
ff78bc30c7
More files deleted.
...
llvm-svn: 24097
2005-10-29 16:51:48 +00:00
Chris Lattner
3415e2f278
Make -time-passes output prettier
...
llvm-svn: 24096
2005-10-29 16:45:02 +00:00
Chris Lattner
9fd7ba3c84
Make negative immediates in patterns work correctly, silence some warnings
...
building the itanium backend.
llvm-svn: 24095
2005-10-29 16:39:40 +00:00
Duraid Madina
9c1cbbe5d1
add some FP stuff, some mix.* stuff, and constant pool support to the
...
DAG instruction selector, which should be destroyed one day (in the pattern
isel also) since ia64 can pack any constant in the instruction stream
llvm-svn: 24094
2005-10-29 16:08:30 +00:00
Chris Lattner
681d539d6e
Fix <> in html
...
llvm-svn: 24093
2005-10-29 07:08:19 +00:00
Chris Lattner
fae4ab5f93
First hack-and-slash on the release notes. Comments and improvements welcome
...
llvm-svn: 24092
2005-10-29 07:07:09 +00:00
Chris Lattner
90fbc12769
Remove the lowerconstantexprs pass
...
llvm-svn: 24091
2005-10-29 05:34:40 +00:00
Chris Lattner
bafe11a821
This pass is now obsolete since all targets have moved to the SelectionDAG
...
infrastructure and the simple isels have been removed.
llvm-svn: 24090
2005-10-29 05:33:46 +00:00
Chris Lattner
dae0aafea8
Remove the LowerConstantExpressionsPass pass
...
llvm-svn: 24089
2005-10-29 05:32:20 +00:00
Chris Lattner
74537db62e
remove reference to this pass
...
llvm-svn: 24088
2005-10-29 05:28:34 +00:00
Chris Lattner
ff2508ed70
Basic updates
...
llvm-svn: 24087
2005-10-29 05:14:01 +00:00
Chris Lattner
6d9926bcf4
Buh bye Expression.(cpp|h)
...
llvm-svn: 24086
2005-10-29 04:55:57 +00:00
Chris Lattner
8a257558a0
remove a dead file
...
llvm-svn: 24085
2005-10-29 04:43:38 +00:00
Chris Lattner
3736ba002f
remove a dead header
...
llvm-svn: 24084
2005-10-29 04:43:10 +00:00
Chris Lattner
4772d742a0
Remove dead #include
...
llvm-svn: 24083
2005-10-29 04:41:30 +00:00
Chris Lattner
20e1564bf0
Now that instcombine does this xform, remove it from the -raise pass
...
llvm-svn: 24082
2005-10-29 04:40:23 +00:00
Chris Lattner
2c6430d1a7
Pull some code out into a function, give it the ability to see through +.
...
This allows us to turn code like malloc(4*x+4) -> malloc int, (x+1)
llvm-svn: 24081
2005-10-29 04:36:15 +00:00
Duraid Madina
6280da9a88
add shladd
...
llvm-svn: 24080
2005-10-29 04:13:40 +00:00
Duraid Madina
5748cfa290
test for the formation of shladd
...
llvm-svn: 24077
2005-10-29 04:06:49 +00:00
Chris Lattner
b313b6d67f
Remove a special case, allowing the general case to handle it. No functionality
...
change.
llvm-svn: 24076
2005-10-29 03:19:53 +00:00
Nate Begeman
da6888930d
New case to handle someday
...
llvm-svn: 24075
2005-10-28 23:26:57 +00:00
Chris Lattner
d44a96088b
Switch more code over to using getValueAsListOfDefs. Look at all the -'s. :)
...
llvm-svn: 24074
2005-10-28 22:59:53 +00:00
Chris Lattner
2338614087
Don't emit "32" for unordered comparison
...
llvm-svn: 24073
2005-10-28 22:58:07 +00:00
Chris Lattner
06c5e018ef
Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately
...
reflect what it is.
Convert some more code over to use it.
llvm-svn: 24072
2005-10-28 22:49:02 +00:00
Chris Lattner
dea00d4a37
Use the new interface Jim added
...
llvm-svn: 24071
2005-10-28 22:43:25 +00:00
Jim Laskey
b86d73937d
Removed Mr. Smith from the code.
...
llvm-svn: 24070
2005-10-28 21:47:29 +00:00
Jim Laskey
7bfb35c1ef
Added method to return a vector of records for a ListInit of Def field. This
...
simplifies using list of records.
llvm-svn: 24069
2005-10-28 21:46:31 +00:00
Chris Lattner
28552d8cc8
add a hack to get code with ordered comparisons working. This hack is
...
tracked as PR642
llvm-svn: 24068
2005-10-28 20:49:47 +00:00
Chris Lattner
379e078ee6
add support for branch on ordered/unordered.
...
llvm-svn: 24067
2005-10-28 20:32:44 +00:00
Chris Lattner
bbf8c885a5
add the xfail lines
...
llvm-svn: 24066
2005-10-28 19:57:55 +00:00
Chris Lattner
2015ee2afb
New testcase. Probably many targets don't support this, so they should probably
...
add themselves as xfails until they do (at least for the release).
llvm-svn: 24065
2005-10-28 19:52:02 +00:00
Chris Lattner
c3f548dceb
Do not globalize internal symbols
...
llvm-svn: 24064
2005-10-28 18:44:07 +00:00
Chris Lattner
0a69a4a837
These are autogenerated
...
llvm-svn: 24063
2005-10-28 18:26:52 +00:00
Duraid Madina
251185e626
DAG->DAG instruction selection for ia64! "hello world" works, not much else.
...
use -enable-ia64-dag-isel to turn this on
TODO: delete lowering stuff from the pattern isel
: get operations on predicate bits working
: get other bits of pseudocode going
: use sampo's mulh/mull-using divide-by-constant magic
: *so* many patterns ("extr", "tbit" and "dep" will be fun :)
: add FP
: add a JIT!
: get it working 100%
in short: this'll be happier in a couple of weeks, but it's here now so
the tester can make me feel guilty sooner.
OTHER: there are a couple of fixes to the pattern isel, in particular
making the linker happy with big blobs of fun like pypy.
llvm-svn: 24058
2005-10-28 17:46:35 +00:00
Chris Lattner
f3945f73db
The nightly tester report doesn't report JIT code size anymore, remove it
...
from the olden graph.
llvm-svn: 24057
2005-10-28 16:35:18 +00:00
Chris Lattner
d0b0dd1d62
Fix a bit of backwards logic that broke exptree and smg2000
...
llvm-svn: 24056
2005-10-28 16:27:35 +00:00
Jim Laskey
dba6376b92
Add some commentary.
...
llvm-svn: 24055
2005-10-28 15:20:43 +00:00
Chris Lattner
110c713ccc
remove dead stuff
...
llvm-svn: 24054
2005-10-28 04:58:24 +00:00
Chris Lattner
77b4595a7b
Eliminate getClass, it is not needed
...
llvm-svn: 24053
2005-10-28 04:57:11 +00:00
Jeff Cohen
744bfe72c0
Keep Visual Studio happy.
...
llvm-svn: 24052
2005-10-28 01:43:09 +00:00
Chris Lattner
002ce4f1f8
a bad case for bitfield insert
...
llvm-svn: 24051
2005-10-28 00:20:45 +00:00
Jim Laskey
1910cbd4dc
Now generating instruction itineraries for scheduling. Not my best work, but...
...
llvm-svn: 24050
2005-10-27 19:47:21 +00:00
Jim Laskey
03f8b2a366
Structures used to hold scheduling information.
...
llvm-svn: 24049
2005-10-27 18:18:05 +00:00
Chris Lattner
e51163c268
update project file
...
llvm-svn: 24048
2005-10-27 17:39:48 +00:00
Chris Lattner
e545fcc680
Do not sink any instruction with side effects, including vaarg. This fixes
...
PR640
llvm-svn: 24046
2005-10-27 17:13:11 +00:00
Chris Lattner
64f57e9d14
Fix #include order
...
llvm-svn: 24044
2005-10-27 16:34:00 +00:00