Chris Lattner [Fri, 16 Apr 2004 22:35:33 +0000 (22:35 +0000)]
Add support for evaluation of exp/log/log10/pow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 18:08:07 +0000 (18:08 +0000)]
Fix some really nasty dominance bugs that were exposed by my patch to
make the verifier more strict. This fixes building zlib
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13002
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 17:37:12 +0000 (17:37 +0000)]
Fix retriving parent Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13001
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 17:13:52 +0000 (17:13 +0000)]
Fit comment into 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12996
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 17:13:44 +0000 (17:13 +0000)]
Regenerated using autoconf-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12995
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 17:13:33 +0000 (17:13 +0000)]
Refactor external benchmark checking stuff into one hairy
macro-to-bind-them-all, called EXTERNAL_BENCHMARK().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12994
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 16:55:30 +0000 (16:55 +0000)]
Add idea about a disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12993
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 16:28:33 +0000 (16:28 +0000)]
Switch to including <iostream> for compatibility with gcc-3.0.x (Debian).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12990
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 16:20:07 +0000 (16:20 +0000)]
* Fix capitalization of PICk
* Wrap long lines to 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12988
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 15:57:32 +0000 (15:57 +0000)]
Include <cmath> for compatibility with gcc 3.0.x (the system compiler on
Debian.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12986
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 15:57:14 +0000 (15:57 +0000)]
Include <string> for compatibility with gcc 3.0.x (the system compiler on
Debian.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12985
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Apr 2004 15:57:02 +0000 (15:57 +0000)]
As a part of the bootstrapping process, the top-level tools-only target
should not build projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12984
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 15:47:21 +0000 (15:47 +0000)]
Assert if deleting BasicBlock before removing it from Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12983
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 16 Apr 2004 15:46:43 +0000 (15:46 +0000)]
Assert if Instruction is being deleted before being removed from BasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12982
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 14:12:36 +0000 (14:12 +0000)]
Remove libraries that have no reason to be here, and keep breaking the nightly tester because their makefiles do not have the right dependencies!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12981
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 06:03:17 +0000 (06:03 +0000)]
Fix some of the strange CBE-only failures that happened last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12980
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 05:51:47 +0000 (05:51 +0000)]
Make sure to check for a very bad class of errors: an instruction
that does not dominate all of its users, but is in the same basic block as
its users. This class of error is what caused the mysterious CBE only
failures last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12979
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 05:35:58 +0000 (05:35 +0000)]
Bugpoint was not correctly capturing stderr! This caused it to "find" bugs
that didn't exist, missing the ones that do :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12978
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Apr 2004 05:17:59 +0000 (05:17 +0000)]
Fix Inline/2004-04-15-InlineDeletesCall.ll
Basically we were using SimplifyCFG as a huge sledgehammer for a simple
optimization. Because simplifycfg does so many things, we can't use it
for this purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12977
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 21:01:21 +0000 (21:01 +0000)]
Add note about easier way to debug tests in the llvm tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12972
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 20:49:32 +0000 (20:49 +0000)]
Add note about passing arguments to program being debugged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 20:45:45 +0000 (20:45 +0000)]
New testcase that Brian provided which crashes the inliner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12969
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 20:26:22 +0000 (20:26 +0000)]
Fix a bug in the previous checkin: if the exit block is not the same as
the back-edge block, we must check the preincremented value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12968
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 15 Apr 2004 20:23:13 +0000 (20:23 +0000)]
Give SparcV9CodeEmitter a head-of-file comment and a PassName.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12967
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 15:38:48 +0000 (15:38 +0000)]
If we're going to use tabs, use them consistently. Maybe doxygen will find the
@parameter line documentation that way, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12966
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 15:33:49 +0000 (15:33 +0000)]
Removed obsolete doxygen options (they were blank anyway).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12965
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 15:30:15 +0000 (15:30 +0000)]
The "best" of both worlds: readable C++ comments and valid HTML For doxygen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12964
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 15:24:55 +0000 (15:24 +0000)]
Don't use invalid HTML in doxygen comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12963
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Apr 2004 15:23:45 +0000 (15:23 +0000)]
Don't use invalid HTML in a doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12962
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 15:21:43 +0000 (15:21 +0000)]
Change the canonical induction variable that we insert.
Instead of producing code like this:
Loop:
X = phi 0, X2
...
X2 = X + 1
if (X != N-1) goto Loop
We now generate code that looks like this:
Loop:
X = phi 0, X2
...
X2 = X + 1
if (X2 != N) goto Loop
This has two big advantages:
1. The trip count of the loop is now explicit in the code, allowing
the direct implementation of Loop::getTripCount()
2. This reduces register pressure in the loop, and allows X and X2 to be
put into the same register.
As a consequence of the second point, the code we generate for loops went
from:
.LBB2: # no_exit.1
...
mov %EDI, %ESI
inc %EDI
cmp %ESI, 2
mov %ESI, %EDI
jne .LBB2 # PC rel: no_exit.1
To:
.LBB2: # no_exit.1
...
inc %ESI
cmp %ESI, 3
jne .LBB2 # PC rel: no_exit.1
... which has two fewer moves, and uses one less register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12961
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 15:16:02 +0000 (15:16 +0000)]
add some helpful methods. Rearrange #includes to proper order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12960
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 15:15:40 +0000 (15:15 +0000)]
Add some helpful methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12959
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 15:07:24 +0000 (15:07 +0000)]
Factor a bunch of classes out into a public header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 15:06:59 +0000 (15:06 +0000)]
Publically export all of these classes from the ScalarEvolutions.cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Apr 2004 14:17:43 +0000 (14:17 +0000)]
Unbreak the build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12956
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 22:01:22 +0000 (22:01 +0000)]
Implement a FIXME: if we're going to insert a cast, we might as well only
insert it once!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12955
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 14 Apr 2004 21:27:56 +0000 (21:27 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12954
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 14 Apr 2004 21:21:56 +0000 (21:21 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 21:11:25 +0000 (21:11 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12952
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 14 Apr 2004 17:45:52 +0000 (17:45 +0000)]
Add a TargetData to the PassManager regardless of the TargetMachine.
This should unbreak the Sparc JIT again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12949
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 14 Apr 2004 17:45:48 +0000 (17:45 +0000)]
Add a copy constructor for TargetData.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12948
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 16:32:34 +0000 (16:32 +0000)]
We are now on LLVM 1.3
Make autoconf default to checking to look to see if our funny directory exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12947
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 16:32:09 +0000 (16:32 +0000)]
Regenerated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12946
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 14 Apr 2004 15:06:48 +0000 (15:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12945
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 14 Apr 2004 14:49:36 +0000 (14:49 +0000)]
Added code to verify that llvm.readio's pointer argument returns something
that matches its return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12944
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 14 Apr 2004 13:52:56 +0000 (13:52 +0000)]
Test for memory mapped I/O intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12943
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 14 Apr 2004 13:46:52 +0000 (13:46 +0000)]
Finish adding the llvm.readio and llvm.writeio intrinsics.
Sorry these didn't get in yesterday.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12942
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 03:28:36 +0000 (03:28 +0000)]
ADd a trivial instcombine: load null -> null
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 02:42:32 +0000 (02:42 +0000)]
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. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Apr 2004 02:22:54 +0000 (02:22 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12938
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 13 Apr 2004 22:13:14 +0000 (22:13 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 21:56:09 +0000 (21:56 +0000)]
Implement a small optimization, which papers over the problem in
X86/2004-04-13-FPCMOV-Crash.llx
A more robust fix is to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 21:48:43 +0000 (21:48 +0000)]
Fix bug, add support for +/-
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 21:44:54 +0000 (21:44 +0000)]
new testcase that crashes the fp stackifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 20:59:47 +0000 (20:59 +0000)]
We actually don't have spiff anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 20:59:24 +0000 (20:59 +0000)]
Out with spiff, in with fpcmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 20:58:42 +0000 (20:58 +0000)]
Remove spiff. Though it looked good, it was not really as spiffy as it seemed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 20:55:49 +0000 (20:55 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:48:55 +0000 (19:48 +0000)]
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:43:54 +0000 (19:43 +0000)]
Add SCCP support for constant folding calls, implementing:
test/Regression/Transforms/SCCP/calltest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:43:33 +0000 (19:43 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:28:52 +0000 (19:28 +0000)]
Add a simple call constant propagation interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:28:32 +0000 (19:28 +0000)]
Add new interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:28:20 +0000 (19:28 +0000)]
Constant propagation should remove the dead instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 19:28:09 +0000 (19:28 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12916
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 19:03:49 +0000 (19:03 +0000)]
Regenerated using autoconf-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12915
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 19:02:51 +0000 (19:02 +0000)]
Rewrite POV-Ray check as per PR301
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12914
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 18:43:18 +0000 (18:43 +0000)]
Increase buffer size again. *sigh*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12912
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 18:37:51 +0000 (18:37 +0000)]
Don't index spiff. It should not count as lines of LLVM code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 18:34:16 +0000 (18:34 +0000)]
Fixed sized limits are bad... duh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 18:33:21 +0000 (18:33 +0000)]
Really spiff, don't chatter :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12907
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 18:28:37 +0000 (18:28 +0000)]
I don't think we have to have 4 extra allocated (but unused) bytes on the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12905
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 18:27:46 +0000 (18:27 +0000)]
I started working on casts, but I don't have anything compilable yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12903
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 18:24:01 +0000 (18:24 +0000)]
Don't underline diffs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 17:20:37 +0000 (17:20 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 17:19:31 +0000 (17:19 +0000)]
Add immediate forms of in/out. Use let to shorten lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 17:18:51 +0000 (17:18 +0000)]
Add support for new instruction type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 17:18:39 +0000 (17:18 +0000)]
Add support for the printImplicitDefsBefore flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 17:18:07 +0000 (17:18 +0000)]
Make the testcase more challenging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 16:24:53 +0000 (16:24 +0000)]
Reenable library now that the loopsimplify bug is fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 16:23:25 +0000 (16:23 +0000)]
Fix LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll
LoopSimplify was not updating dominator frontiers correctly in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 16:22:04 +0000 (16:22 +0000)]
New testcase where loop simplify is not updating domfrontiers correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 15:21:18 +0000 (15:21 +0000)]
Refactor code a bit to make it simpler and eliminate the goto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 14:43:35 +0000 (14:43 +0000)]
Add notes about some of the code quality improvements that have gone in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 13:57:29 +0000 (13:57 +0000)]
Temporary hack to get the nightly tester running
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12886
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 13 Apr 2004 13:42:38 +0000 (13:42 +0000)]
Added Spiff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Apr 2004 05:05:33 +0000 (05:05 +0000)]
This patch addresses PR35: Loop simplify should reconstruct nested loops.
This is fairly straight-forward, but was a real nightmare to get just
perfect. aarg. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12884
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 13 Apr 2004 03:24:45 +0000 (03:24 +0000)]
Clean up the Spiff code so that it emits fewer warnings. This
consists mostly of changing sloppy K&R C code to slightly more
disciplined K&R C code, and doing the usual things to shut gcc up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12877
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 12 Apr 2004 22:53:51 +0000 (22:53 +0000)]
Build Spiff directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12876
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 12 Apr 2004 22:53:24 +0000 (22:53 +0000)]
Add the Spiff fp-aware diff utility from Bellcore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12875
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 12 Apr 2004 21:46:31 +0000 (21:46 +0000)]
We don't need to insert TargetData into the PassManager here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Apr 2004 20:59:07 +0000 (20:59 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12873
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 12 Apr 2004 20:26:39 +0000 (20:26 +0000)]
Fix bug introduced in previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Apr 2004 20:26:17 +0000 (20:26 +0000)]
Add some methods that are useful for updating loop information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12871
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 12 Apr 2004 19:04:22 +0000 (19:04 +0000)]
Update testcase to illustrate the coalescing problem. The previous one did not work because of a fix in the x86 instruction selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12870
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 12 Apr 2004 17:39:20 +0000 (17:39 +0000)]
Correctly compute spill weights
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12869
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 12 Apr 2004 16:42:43 +0000 (16:42 +0000)]
Added testcase for the llvm.readport and llvm.writeport intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12868
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 12 Apr 2004 16:33:19 +0000 (16:33 +0000)]
Corrected the descriptions of the llvm.writeport and llvm.writeio
intrinsics.
Modified llvm.readio and llvm.writeio to use pointers to memory instead
of integers. This should take care of problems such as different pointer
sizes, casting integers to pointers, weird architectural pointer types, etc.
Re-worded the description of llvm.readio and llvm.writeio so that it should
be more clear as to why they should be used over regular loads/stores for
I/O.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12867
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 12 Apr 2004 15:57:58 +0000 (15:57 +0000)]
Print def lists a bit more compactly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12866
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 12 Apr 2004 15:40:25 +0000 (15:40 +0000)]
Add same value coalescing testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12865
91177308-0d34-0410-b5e6-
96231b3b80d8