Jeff Cohen
176bb3e5ed
Match changes to unix build system.
...
llvm-svn: 26167
2006-02-14 06:12:08 +00:00
Chris Lattner
47f4f2c148
now that libcalls don't suck, we can remove this hack
...
llvm-svn: 26164
2006-02-14 05:39:35 +00:00
Chris Lattner
78250fee02
Adjust to new style "generated files in CVS" mechanism for lex output
...
llvm-svn: 26163
2006-02-14 05:16:35 +00:00
Chris Lattner
ca895c34ed
adjust to new style of handling lexer changes
...
llvm-svn: 26162
2006-02-14 05:14:46 +00:00
Chris Lattner
be28034223
Adjust to new form of handling lexer dependencies, this way shouldn't have
...
the problems the old way did.
llvm-svn: 26161
2006-02-14 05:13:13 +00:00
Chris Lattner
f9f41e0fe1
Implement an alternative way of handling generated lex files in CVS. This
...
should solve the "updating cvs when .l files change give me conflict markers
that break my build" issue.
llvm-svn: 26160
2006-02-14 05:12:00 +00:00
Chris Lattner
3c0dc49fba
Wrap a couple more long lines
...
llvm-svn: 26159
2006-02-14 04:27:15 +00:00
Chris Lattner
6bbf62d67a
wrap long lines
...
llvm-svn: 26158
2006-02-14 04:25:54 +00:00
Chris Lattner
33fd4611f5
Use statistics to keep track of what flavors of loops we are unswitching
...
llvm-svn: 26157
2006-02-14 01:01:41 +00:00
Chris Lattner
d3cfbeca5b
Fix a latent bug in the call sequence handling stuff. Some targets (e.g. x86)
...
create these nodes with flag results. Remember that we legalized them.
llvm-svn: 26156
2006-02-14 00:55:02 +00:00
Chris Lattner
9f91f1e3c8
Implement Instcombine/and.ll:test34
...
llvm-svn: 26155
2006-02-13 23:07:23 +00:00
Chris Lattner
7ea9303a2f
new testcase
...
llvm-svn: 26154
2006-02-13 23:07:02 +00:00
Chris Lattner
307a2b55bb
Fix typo that caused build failures for things trying to use m_Or.
...
llvm-svn: 26153
2006-02-13 23:06:39 +00:00
Chris Lattner
24d29462d2
If any of the sign extended bits are demanded, the input sign bit is demanded
...
for a sign extension.
This fixes InstCombine/2006-02-13-DemandedMiscompile.ll and Ptrdist/bc.
llvm-svn: 26152
2006-02-13 22:41:07 +00:00
Chris Lattner
0cabe967ce
testcase reduced from Ptrdist/bc that is miscompiled by recent instcombine changes.
...
llvm-svn: 26151
2006-02-13 22:31:50 +00:00
Chris Lattner
bdcb7e09c3
Another hack due to allowing multiple symbols with the same name.
...
llvm-svn: 26150
2006-02-13 22:22:42 +00:00
Chris Lattner
b0362b8640
Another work around for the 'symbols with different types can have the same
...
name' issue.
llvm-svn: 26149
2006-02-13 21:43:26 +00:00
Andrew Lenharth
0a245834aa
improved zap discovery
...
llvm-svn: 26148
2006-02-13 18:52:29 +00:00
Andrew Lenharth
e5ed262832
test for improved zap discovery
...
llvm-svn: 26147
2006-02-13 18:52:01 +00:00
Jim Laskey
40610cacc0
Sync up the tag numbers with gcc4.
...
llvm-svn: 26146
2006-02-13 16:56:43 +00:00
Jim Laskey
fac853338f
Rename to better reflect usage (current and planned.)
...
llvm-svn: 26145
2006-02-13 12:50:39 +00:00
Chris Lattner
b3fc3e3a90
Completely rewrite libcall insertion by the legalizer, providing the
...
following handy-dandy properties:
1. it is always correct now
2. it is much faster than before
3. it is easier to understand
This implementation builds off of the recent simplifications of the
legalizer that made it single-pass instead of iterative.
This fixes JM/lencod, JM/ldecod, and
CodeGen/Generic/2006-02-12-InsertLibcall.ll (at least on PPC).
llvm-svn: 26144
2006-02-13 09:18:02 +00:00
Chris Lattner
599b432345
Switch targets over to using SelectionDAG::getCALLSEQ_START to create
...
CALLSEQ_START nodes.
llvm-svn: 26143
2006-02-13 09:00:43 +00:00
Chris Lattner
9db5a1fd19
Switch to using getCALLSEQ_START instead of using our own creation calls
...
llvm-svn: 26142
2006-02-13 08:55:29 +00:00
Chris Lattner
2d35c6e90f
Add a method
...
llvm-svn: 26141
2006-02-13 08:54:46 +00:00
Chris Lattner
6be56c0224
this passes now, due to Nate's recent efforts
...
llvm-svn: 26140
2006-02-13 07:26:36 +00:00
Chris Lattner
08a6bf6cd6
Reduce this testcase a bit more, with the help of llvm-extract and some hand tweaks
...
llvm-svn: 26139
2006-02-13 07:02:50 +00:00
Chris Lattner
19ac3230f6
Be careful not to request or look at bits shifted in from outside the size
...
of the input. This fixes the mediabench/gsm/toast failure last night.
llvm-svn: 26138
2006-02-13 06:09:08 +00:00
Evan Cheng
d743021686
Added a test case for a libcall insertion bug.
...
llvm-svn: 26137
2006-02-12 10:24:00 +00:00
Nate Begeman
7261b82dd7
Add missing patterns for andi. and andis., fixing test/Regression/CodeGen/
...
PowerPC/and-imm.ll
llvm-svn: 26136
2006-02-12 09:09:52 +00:00
Chris Lattner
3b748923cd
remove some more dead special case code
...
llvm-svn: 26135
2006-02-12 08:07:37 +00:00
Chris Lattner
169c4ef1ec
Eliminate special case hacks that are superceded by general purpose hacks
...
llvm-svn: 26134
2006-02-12 08:02:11 +00:00
Chris Lattner
5e867a74d3
tweaks
...
llvm-svn: 26133
2006-02-12 08:01:35 +00:00
Chris Lattner
c1cb72a3a3
Three changes:
...
1. Teach GetConstantInType to handle boolean constants.
2. Teach instcombine to fold (compare X, CST) when X has known 0/1 bits.
Testcase here: set.ll:test22
3. Improve the "(X >> c1) & C2 == 0" folding code to allow a noop cast
between the shift and and. More aggressive bitfolding for other reasons
was turning signed shr's into unsigned shr's, leaving the noop cast in
the way.
llvm-svn: 26131
2006-02-12 02:07:56 +00:00
Chris Lattner
0583a337fb
new testcase
...
llvm-svn: 26130
2006-02-12 02:06:31 +00:00
Chris Lattner
76e0e3fe40
move a failing testcase from bit-tracking.ll to narrow.ll, and move the
...
xfail marker with it
llvm-svn: 26129
2006-02-12 02:02:43 +00:00
Chris Lattner
54a36a05b3
Revert my last patch. It too breaks stuff
...
llvm-svn: 26128
2006-02-12 01:59:10 +00:00
Chris Lattner
d8c54dc866
Make these tests fail if opt crashes.
...
llvm-svn: 26127
2006-02-12 01:32:58 +00:00
Chris Lattner
7c61638c1b
Fix for my previously reverted patch
...
llvm-svn: 26126
2006-02-11 21:24:54 +00:00
Chris Lattner
e6b05ffc0f
Update comments to be actually accurate
...
llvm-svn: 26124
2006-02-11 09:37:07 +00:00
Chris Lattner
5267440902
This is implemented by the simplify-libcalls pass, not instcombine
...
llvm-svn: 26123
2006-02-11 09:33:28 +00:00
Chris Lattner
9b092ebf17
Port the recent innovations in ComputeMaskedBits to SimplifyDemandedBits.
...
This allows us to simplify on conditions where bits are not known, but they
are not demanded either! This also fixes a couple of bugs in
ComputeMaskedBits that were exposed during this work.
In the future, swaths of instcombine should be removed, as this code
subsumes a bunch of ad-hockery.
llvm-svn: 26122
2006-02-11 09:31:47 +00:00
Chris Lattner
05b7c448f3
revert my previous change, it exposed other problems.
...
llvm-svn: 26121
2006-02-11 08:47:47 +00:00
Duraid Madina
81b9a8f8f7
fix storing booleans (grawp missed this one)
...
llvm-svn: 26120
2006-02-11 07:33:17 +00:00
Duraid Madina
a514d8d8a6
now short immediates will get matched (previously constants were all
...
triggering movl 64bit imm fat instructions)
llvm-svn: 26119
2006-02-11 07:32:15 +00:00
Chris Lattner
c859e1d2b5
Make this check stricter. Disallow loop exit blocks from being shared by
...
loops and their subloops.
llvm-svn: 26118
2006-02-11 02:13:17 +00:00
Evan Cheng
1b8029264a
Prevent certain nodes that have already been selected from being folded into
...
X86 addressing mode. Currently we do not allow any node whose target node
produces a chain as well as any node that is at the root of the addressing
mode expression tree.
llvm-svn: 26117
2006-02-11 02:05:36 +00:00
Chris Lattner
95fccc4772
remove dead expr
...
llvm-svn: 26116
2006-02-11 01:43:37 +00:00
Jim Laskey
55467f611d
Reorg for integration with gcc4. Old style debug info will not be passed though
...
to SelIDAG.
llvm-svn: 26115
2006-02-11 01:01:30 +00:00
Chris Lattner
f7cf05d3a2
implement unswitching of loops with switch stmts and selects in them
...
llvm-svn: 26114
2006-02-11 00:43:37 +00:00