Chris Lattner
d9dc425376
add some helpful methods. Rearrange #includes to proper order
...
llvm-svn: 12960
2004-04-15 15:16:02 +00:00
Chris Lattner
6580bbda3d
Add some helpful methods
...
llvm-svn: 12959
2004-04-15 15:15:40 +00:00
Chris Lattner
b4f681b42b
Factor a bunch of classes out into a public header
...
llvm-svn: 12958
2004-04-15 15:07:24 +00:00
Chris Lattner
3598d13b1c
Publically export all of these classes from the ScalarEvolutions.cpp file
...
llvm-svn: 12957
2004-04-15 15:06:59 +00:00
Chris Lattner
a4e4a63856
Unbreak the build
...
llvm-svn: 12956
2004-04-15 14:17:43 +00:00
Chris Lattner
d420fe63ea
Implement a FIXME: if we're going to insert a cast, we might as well only
...
insert it once!
llvm-svn: 12955
2004-04-14 22:01:22 +00:00
John Criswell
e3e2c91997
Remove code to adjust the iterator for llvm.readio and llvm.writeio.
...
The iterator is pointing at the next instruction which should not disappear
when doing the load/store replacement.
llvm-svn: 12954
2004-04-14 21:27:56 +00:00
Brian Gaeke
0174347d9a
Fix typo.
...
llvm-svn: 12953
2004-04-14 21:21:56 +00:00
Chris Lattner
8a9fd94cfe
This is a trivial tweak to the addrec insertion code: insert the increment
...
at the bottom of the loop instead of the top. This reduces the number of
overlapping live ranges a lot, for example, eliminating a spill in an important
loop in 183.equake with linear scan.
I still need to make the exit comparison of the loop use the post-incremented
version of this variable, but this is an easy first step.
llvm-svn: 12952
2004-04-14 21:11:25 +00:00
Brian Gaeke
aec2bcd63b
Add a TargetData to the PassManager regardless of the TargetMachine.
...
This should unbreak the Sparc JIT again.
llvm-svn: 12949
2004-04-14 17:45:52 +00:00
Brian Gaeke
9a2e37bccd
Add a copy constructor for TargetData.
...
llvm-svn: 12948
2004-04-14 17:45:48 +00:00
Chris Lattner
cea7f660bc
We are now on LLVM 1.3
...
Make autoconf default to checking to look to see if our funny directory exists
llvm-svn: 12947
2004-04-14 16:32:34 +00:00
Chris Lattner
6d06918ef0
Regenerated
...
llvm-svn: 12946
2004-04-14 16:32:09 +00:00
John Criswell
c4e72c9a0a
Remove the return type check for llvm.readio. This check is done for all
...
functions and is not needed here.
Simplify the pointer type check per Chris's suggestions.
llvm-svn: 12945
2004-04-14 15:06:48 +00:00
John Criswell
0c654c6a4e
Added code to verify that llvm.readio's pointer argument returns something
...
that matches its return type.
llvm-svn: 12944
2004-04-14 14:49:36 +00:00
John Criswell
917b641609
Test for memory mapped I/O intrinsics.
...
llvm-svn: 12943
2004-04-14 13:52:56 +00:00
John Criswell
23c48d63d6
Finish adding the llvm.readio and llvm.writeio intrinsics.
...
Sorry these didn't get in yesterday.
llvm-svn: 12942
2004-04-14 13:46:52 +00:00
Chris Lattner
6679e46b59
ADd a trivial instcombine: load null -> null
...
llvm-svn: 12940
2004-04-14 03:28:36 +00:00
Chris Lattner
0dc099c2b5
This is the real fix for Codegen/X86/2004-04-13-FPCMOV-Crash.llx which works
...
even when the "optimization" I added before is turned off. It generates this
extremely pointless code:
test:
fld QWORD PTR [%ESP + 4]
mov %AL, 0
test %AL, %AL
fcmove %ST(0), %ST(0)
ret
Good thing the optimizer will have removed this before code generation
anyway. :)
llvm-svn: 12939
2004-04-14 02:42:32 +00:00
Chris Lattner
52acdaacc7
Temporarily hack in the intrinsics that John added. I expect him to finish up their addition, but in the meantime, the build should not be broken.
...
llvm-svn: 12938
2004-04-14 02:22:54 +00:00
John Criswell
beded72a08
Added support for the llvm.readio and llvm.writeio intrinsics.
...
On x86, memory operations occur in-order, so these are just lowered into
volatile loads and stores.
llvm-svn: 12936
2004-04-13 22:13:14 +00:00
Chris Lattner
9042e381d8
Implement a small optimization, which papers over the problem in
...
X86/2004-04-13-FPCMOV-Crash.llx
A more robust fix is to follow.
llvm-svn: 12935
2004-04-13 21:56:09 +00:00
Chris Lattner
ed94fef7e3
Fix bug, add support for +/-
...
llvm-svn: 12934
2004-04-13 21:48:43 +00:00
Chris Lattner
8662beeecd
new testcase that crashes the fp stackifier
...
llvm-svn: 12932
2004-04-13 21:44:54 +00:00
Chris Lattner
ed7a7d20c9
We actually don't have spiff anymore
...
llvm-svn: 12929
2004-04-13 20:59:47 +00:00
Chris Lattner
9a3ac1a956
Out with spiff, in with fpcmp
...
llvm-svn: 12928
2004-04-13 20:59:24 +00:00
Chris Lattner
e542c1c422
Remove spiff. Though it looked good, it was not really as spiffy as it seemed
...
llvm-svn: 12927
2004-04-13 20:58:42 +00:00
Chris Lattner
5613bcc258
Okay, spiff is completely incapable of handling files of nontrivial size.
...
Here is a simple minimal program that does what we want. Instead of taking
minutes to compare mesa's output, and crashing on binary files (like spiff
does), this take < .02s in the common case and doesn't crash.
llvm-svn: 12926
2004-04-13 20:55:49 +00:00
Chris Lattner
cb5e795f1f
Add a note
...
llvm-svn: 12922
2004-04-13 19:48:55 +00:00
Chris Lattner
ff9362a8da
Add SCCP support for constant folding calls, implementing:
...
test/Regression/Transforms/SCCP/calltest.ll
llvm-svn: 12921
2004-04-13 19:43:54 +00:00
Chris Lattner
9d42084081
New testcase
...
llvm-svn: 12920
2004-04-13 19:43:33 +00:00
Chris Lattner
ca52d0468e
Add a simple call constant propagation interface.
...
llvm-svn: 12919
2004-04-13 19:28:52 +00:00
Chris Lattner
7dacdb6f13
Add new interfaces
...
llvm-svn: 12918
2004-04-13 19:28:32 +00:00
Chris Lattner
d0dc6d5295
Constant propagation should remove the dead instructions
...
llvm-svn: 12917
2004-04-13 19:28:20 +00:00
Chris Lattner
e3debac3cd
New testcase
...
llvm-svn: 12916
2004-04-13 19:28:09 +00:00
Brian Gaeke
9a79ed7b89
Regenerated using autoconf-2.57.
...
llvm-svn: 12915
2004-04-13 19:03:49 +00:00
Brian Gaeke
fca4720590
Rewrite POV-Ray check as per PR301
...
llvm-svn: 12914
2004-04-13 19:02:51 +00:00
Chris Lattner
becf6365d6
Increase buffer size again. *sigh*
...
llvm-svn: 12912
2004-04-13 18:43:18 +00:00
Chris Lattner
f37bd007e4
Don't index spiff. It should not count as lines of LLVM code
...
llvm-svn: 12911
2004-04-13 18:37:51 +00:00
Chris Lattner
763596e28d
Fixed sized limits are bad... duh.
...
llvm-svn: 12908
2004-04-13 18:34:16 +00:00
Chris Lattner
7b9733dac2
Really spiff, don't chatter :)
...
llvm-svn: 12907
2004-04-13 18:33:21 +00:00
Brian Gaeke
6f6e4b9f59
I don't think we have to have 4 extra allocated (but unused) bytes on the stack.
...
llvm-svn: 12905
2004-04-13 18:28:37 +00:00
Brian Gaeke
969795b4ea
I started working on casts, but I don't have anything compilable yet.
...
llvm-svn: 12903
2004-04-13 18:27:46 +00:00
Brian Gaeke
bacab88d42
Don't underline diffs
...
llvm-svn: 12902
2004-04-13 18:24:01 +00:00
Chris Lattner
c71b096672
Emit the immediate form of in/out when possible.
...
Fix several bugs in the intrinsics:
1. Make sure to copy the input registers before the instructions that use them
2. Make sure to copy the value returned by 'in' out of EAX into the register
it is supposed to be in.
This fixes assertions when using in/out and linear scan.
llvm-svn: 12896
2004-04-13 17:20:37 +00:00
Chris Lattner
a340febe52
Add immediate forms of in/out. Use let to shorten lines
...
llvm-svn: 12895
2004-04-13 17:19:31 +00:00
Chris Lattner
eaa28a29ae
Add support for new instruction type
...
llvm-svn: 12894
2004-04-13 17:18:51 +00:00
Chris Lattner
27b2e2cdc0
Add support for the printImplicitDefsBefore flag
...
llvm-svn: 12893
2004-04-13 17:18:39 +00:00
Chris Lattner
e342a8ef49
Make the testcase more challenging
...
llvm-svn: 12892
2004-04-13 17:18:07 +00:00
Chris Lattner
34fba8eb00
Reenable library now that the loopsimplify bug is fixed
...
llvm-svn: 12891
2004-04-13 16:24:53 +00:00