Chris Lattner [Sun, 30 Oct 2005 19:42:35 +0000 (19:42 +0000)]
Significantly simplify this code and make it more aggressive. Instead of having
a special case hack for X86, make the hack more general: if an incoming argument
register is not used in any block other than the entry block, don't copy it to
a vreg. This helps us compile code like this:
%struct.foo = type { int, int, [0 x ubyte] }
int %test(%struct.foo* %X) {
%tmp1 = getelementptr %struct.foo* %X, int 0, uint 2, int 100
%tmp = load ubyte* %tmp1 ; <ubyte> [#uses=1]
%tmp2 = cast ubyte %tmp to int ; <int> [#uses=1]
ret int %tmp2
}
to:
_test:
lbz r3, 108(r3)
blr
instead of:
_test:
lbz r2, 108(r3)
or r3, r2, r2
blr
The (dead) copy emitted to copy r3 into a vreg for extra-block uses was
increasing the live range of r3 past the load, preventing the coallescing.
This implements CodeGen/PowerPC/reg-coallesce-simple.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 19:42:18 +0000 (19:42 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24112
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 18:54:27 +0000 (18:54 +0000)]
Reduce the number of copies emitted as machine instructions by
generating results in vregs that will need them. In the case of something
like this: CopyToReg((add X, Y), reg1024), we no longer emit code like
this:
reg1025 = add X, Y
reg1024 = reg 1025
Instead, we emit:
reg1024 = add X, Y
Whoa! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 16:44:01 +0000 (16:44 +0000)]
If the module has no t-t and the host is an alpha, default to using the Alpha BE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24110
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 30 Oct 2005 10:14:19 +0000 (10:14 +0000)]
fix some broken comparisons, this affected the Pattern isel too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 07:22:15 +0000 (07:22 +0000)]
The pass was removed, but the spirit lives on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24108
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 06:42:12 +0000 (06:42 +0000)]
This is implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 06:41:49 +0000 (06:41 +0000)]
Codegen mul by negative power of two with a shift and negate.
This implements test/Regression/CodeGen/PowerPC/mul-neg-power-2.ll,
producing:
_foo:
slwi r2, r3, 1
subfic r3, r2, 63
blr
instead of:
_foo:
mulli r2, r3, -2
addi r3, r2, 63
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 06:37:33 +0000 (06:37 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 06:24:33 +0000 (06:24 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24102
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 30 Oct 2005 05:14:02 +0000 (05:14 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24099
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 17:01:41 +0000 (17:01 +0000)]
Revert an accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24098
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 29 Oct 2005 16:51:48 +0000 (16:51 +0000)]
More files deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24097
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 16:45:02 +0000 (16:45 +0000)]
Make -time-passes output prettier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24096
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 16:39:40 +0000 (16:39 +0000)]
Make negative immediates in patterns work correctly, silence some warnings
building the itanium backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24095
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 29 Oct 2005 16:08:30 +0000 (16:08 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24094
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 07:08:19 +0000 (07:08 +0000)]
Fix <> in html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24093
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 07:07:09 +0000 (07:07 +0000)]
First hack-and-slash on the release notes. Comments and improvements welcome
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24092
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 05:34:40 +0000 (05:34 +0000)]
Remove the lowerconstantexprs pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24091
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 05:33:46 +0000 (05:33 +0000)]
This pass is now obsolete since all targets have moved to the SelectionDAG
infrastructure and the simple isels have been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24090
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 05:32:20 +0000 (05:32 +0000)]
Remove the LowerConstantExpressionsPass pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24089
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 05:28:34 +0000 (05:28 +0000)]
remove reference to this pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 05:14:01 +0000 (05:14 +0000)]
Basic updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24087
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:55:57 +0000 (04:55 +0000)]
Buh bye Expression.(cpp|h)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24086
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:43:38 +0000 (04:43 +0000)]
remove a dead file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:43:10 +0000 (04:43 +0000)]
remove a dead header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:41:30 +0000 (04:41 +0000)]
Remove dead #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:40:23 +0000 (04:40 +0000)]
Now that instcombine does this xform, remove it from the -raise pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24082
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 04:36:15 +0000 (04:36 +0000)]
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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24081
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 29 Oct 2005 04:13:40 +0000 (04:13 +0000)]
add shladd
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24080
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 29 Oct 2005 04:06:49 +0000 (04:06 +0000)]
test for the formation of shladd
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24077
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 29 Oct 2005 03:19:53 +0000 (03:19 +0000)]
Remove a special case, allowing the general case to handle it. No functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24076
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 28 Oct 2005 23:26:57 +0000 (23:26 +0000)]
New case to handle someday
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24075
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 22:59:53 +0000 (22:59 +0000)]
Switch more code over to using getValueAsListOfDefs. Look at all the -'s. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24074
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 22:58:07 +0000 (22:58 +0000)]
Don't emit "32" for unordered comparison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 22:49:02 +0000 (22:49 +0000)]
Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately
reflect what it is.
Convert some more code over to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24072
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 22:43:25 +0000 (22:43 +0000)]
Use the new interface Jim added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24071
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 28 Oct 2005 21:47:29 +0000 (21:47 +0000)]
Removed Mr. Smith from the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24070
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 28 Oct 2005 21:46:31 +0000 (21:46 +0000)]
Added method to return a vector of records for a ListInit of Def field. This
simplifies using list of records.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 20:49:47 +0000 (20:49 +0000)]
add a hack to get code with ordered comparisons working. This hack is
tracked as PR642
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24068
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 20:32:44 +0000 (20:32 +0000)]
add support for branch on ordered/unordered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24067
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 19:57:55 +0000 (19:57 +0000)]
add the xfail lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24066
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 19:52:02 +0000 (19:52 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24065
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 18:44:07 +0000 (18:44 +0000)]
Do not globalize internal symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24064
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 18:26:52 +0000 (18:26 +0000)]
These are autogenerated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24063
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 28 Oct 2005 17:46:35 +0000 (17:46 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24058
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 16:35:18 +0000 (16:35 +0000)]
The nightly tester report doesn't report JIT code size anymore, remove it
from the olden graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24057
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 16:27:35 +0000 (16:27 +0000)]
Fix a bit of backwards logic that broke exptree and smg2000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24056
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 28 Oct 2005 15:20:43 +0000 (15:20 +0000)]
Add some commentary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24055
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 04:58:24 +0000 (04:58 +0000)]
remove dead stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24054
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 04:57:11 +0000 (04:57 +0000)]
Eliminate getClass, it is not needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24053
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 28 Oct 2005 01:43:09 +0000 (01:43 +0000)]
Keep Visual Studio happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24052
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Oct 2005 00:20:45 +0000 (00:20 +0000)]
a bad case for bitfield insert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24051
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 27 Oct 2005 19:47:21 +0000 (19:47 +0000)]
Now generating instruction itineraries for scheduling. Not my best work, but...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24050
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 27 Oct 2005 18:18:05 +0000 (18:18 +0000)]
Structures used to hold scheduling information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24049
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 17:39:48 +0000 (17:39 +0000)]
update project file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24048
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 17:13:11 +0000 (17:13 +0000)]
Do not sink any instruction with side effects, including vaarg. This fixes
PR640
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24046
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 16:34:00 +0000 (16:34 +0000)]
Fix #include order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24044
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 16:30:44 +0000 (16:30 +0000)]
unbreak the build again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24041
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 27 Oct 2005 16:00:10 +0000 (16:00 +0000)]
Move some constant folding functions into LLVMAnalysis since they are used
by Analysis and Transformation passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 27 Oct 2005 15:54:34 +0000 (15:54 +0000)]
Move some constant folding code shared by Analysis and Transform passes
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 07:10:34 +0000 (07:10 +0000)]
Fix DSE to not nuke dead stores unless they redundant store is the same
VT as the killing one. Fix fixes PR491
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24034
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 06:26:26 +0000 (06:26 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 06:24:46 +0000 (06:24 +0000)]
Teach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)
into: malloc int, (2*X)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 06:12:00 +0000 (06:12 +0000)]
Promote cases like cast (malloc sbyte, 100) to int* into
(malloc [25 x int]) directly without having to convert to
(malloc [100 x sbyte]) first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 05:53:56 +0000 (05:53 +0000)]
Minor change to this file to support obscure cases with constant array amounts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 05:06:38 +0000 (05:06 +0000)]
Add a simple xform that is useful for bitfield operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24029
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 27 Oct 2005 01:10:36 +0000 (01:10 +0000)]
Fine tune Visual Studio's use of bison/flex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Oct 2005 00:53:16 +0000 (00:53 +0000)]
Make sure to build things in the right order, build with the .o file, not the
.a file to unbreak the build after john's change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24024
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 26 Oct 2005 20:35:13 +0000 (20:35 +0000)]
1. Remove libraries no longer created from the list of libraries linked into the
SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
LLVMAnalysis.a. These two libraries have circular dependencies on each
other which creates problem when building the SparcV9 JIT. This change
fixes the dependency on all platforms problems with a minimum of fuss.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 26 Oct 2005 18:44:45 +0000 (18:44 +0000)]
int comparison patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24020
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 18:41:41 +0000 (18:41 +0000)]
Fix some spello's pointed out by Gabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24019
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 26 Oct 2005 18:07:50 +0000 (18:07 +0000)]
Typo made worse x 2 - take 2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 18:01:11 +0000 (18:01 +0000)]
Fix an assert compiling MallocBench/gs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24017
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 26 Oct 2005 17:50:22 +0000 (17:50 +0000)]
Typo x 2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24016
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 26 Oct 2005 17:49:21 +0000 (17:49 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24015
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 26 Oct 2005 17:41:46 +0000 (17:41 +0000)]
Simplify instinfo, set random bits on more fp insts, and fix 1 opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24014
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 26 Oct 2005 17:30:34 +0000 (17:30 +0000)]
Give full control of subtarget features over to table generated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24013
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 26 Oct 2005 17:28:23 +0000 (17:28 +0000)]
Add attribute name and type to SubtargetFeatures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24012
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 17:18:16 +0000 (17:18 +0000)]
fold nested and's early to avoid inefficiencies in MaskedValueIsZero. This
fixes a very slow compile in PR639.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 17:02:02 +0000 (17:02 +0000)]
Condcodes are in the ISD namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 17:00:25 +0000 (17:00 +0000)]
Add nodes for CondCodeSDNode and setcc, and add a bunch of pattern fragments
to make it easy to use them. This lets you write patterns like:
(set PRRC:$rd, (setne GPRC:$rS, imm:$SH))
and stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24009
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 26 Oct 2005 16:59:37 +0000 (16:59 +0000)]
Add support for CondCode's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 26 Oct 2005 15:02:21 +0000 (15:02 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24004
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 26 Oct 2005 14:48:53 +0000 (14:48 +0000)]
Eliminate use of sed in Visual Studio builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24003
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 26 Oct 2005 05:37:34 +0000 (05:37 +0000)]
Eliminate need for bison/flex in Visual Studio builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23999
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 26 Oct 2005 05:36:51 +0000 (05:36 +0000)]
Update Visual Studio projects to reflect moved file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23998
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Oct 2005 23:53:21 +0000 (23:53 +0000)]
Add a regression test for the recent fix for FP_TO_UINT lowering in the ppc
backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23995
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Oct 2005 23:50:02 +0000 (23:50 +0000)]
Add a note about some bitfield stuff we could be doing better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23994
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Oct 2005 23:48:36 +0000 (23:48 +0000)]
Correctly Expand or Promote FP_TO_UINT based on the capabilities of the
machine. This allows us to generate great code for i32 FP_TO_UINT now on
targets with 64 bit extensions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23993
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 25 Oct 2005 23:47:25 +0000 (23:47 +0000)]
Allow custom lowered FP_TO_SINT ops in the check for whether a larger
FP_TO_SINT is preferred to a larger FP_TO_UINT. This seems to be begging
for a TLI.isOperationCustom() helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23992
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 21:03:41 +0000 (21:03 +0000)]
autogen undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23991
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 21:03:14 +0000 (21:03 +0000)]
Add undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 21:02:21 +0000 (21:02 +0000)]
Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:58:43 +0000 (20:58 +0000)]
Allow pseudos to have patterns, no functionality change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:55:47 +0000 (20:55 +0000)]
Autogen fsel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:54:57 +0000 (20:54 +0000)]
Expose the fextend on the DAG instead of doing it in the matcher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:41:46 +0000 (20:41 +0000)]
Autogen a few new ppc-specific nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23985
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:36:10 +0000 (20:36 +0000)]
The dag isel generator generates this now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23984
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 25 Oct 2005 20:35:14 +0000 (20:35 +0000)]
Emit some boilerplate for targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23983
91177308-0d34-0410-b5e6-
96231b3b80d8