Chris Lattner [Wed, 15 Feb 2006 07:23:05 +0000 (07:23 +0000)]
bugfixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 07:22:58 +0000 (07:22 +0000)]
Convert this over to work with the new makefiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 07:16:57 +0000 (07:16 +0000)]
Convert the bison-output-checked-into-cvs makefile handling stuff to work
like the flex stuff, which actually works when people do cvs updates and
get conflicts in the updated checked in file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 07:07:14 +0000 (07:07 +0000)]
Sparc actually *DOES* have a directive for emitting zeros. In fact, it requires
it, because this:
.bss
X:
.byte 0
results in the assembler warning: "initialization in bss segment". Annoying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 07:02:59 +0000 (07:02 +0000)]
random lexer change to test the makefile updating stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 06:41:34 +0000 (06:41 +0000)]
Fix SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c on Sparc.
The ABI specifies that there is a register save area at the bottom of the
stack, which means the actual used pointer needs to be an offset from
the subtracted value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26202
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 15 Feb 2006 03:23:26 +0000 (03:23 +0000)]
HP aCC (and a bunch of other compilers, no doubt) don't share
GCC's syntax for auto-dependency generation stuff. This should
be changed to be disabling dependency stuff unless GCC/ICC is
found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26201
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 15 Feb 2006 03:20:16 +0000 (03:20 +0000)]
oops, I meant this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26200
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 15 Feb 2006 03:16:52 +0000 (03:16 +0000)]
zap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26199
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 15 Feb 2006 03:15:55 +0000 (03:15 +0000)]
previously, configure would die if GCC or ICC was not found. Now it'll
go through, but we do want to know if we're using GCC/ICC since they
share certain funky command line options (for dependency generation
stuff)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26198
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 15 Feb 2006 01:56:48 +0000 (01:56 +0000)]
Remove an entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26197
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 15 Feb 2006 01:56:23 +0000 (01:56 +0000)]
Use .zerofill on x86/darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26196
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 15 Feb 2006 01:54:51 +0000 (01:54 +0000)]
Lower memcpy with small constant size operand into a series of load / store
ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 01:44:42 +0000 (01:44 +0000)]
more refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26194
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 15 Feb 2006 00:31:03 +0000 (00:31 +0000)]
cvtsd2ss / cvtss2sd encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26193
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 15 Feb 2006 00:11:37 +0000 (00:11 +0000)]
movaps, movapd encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26192
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Feb 2006 00:07:43 +0000 (00:07 +0000)]
pull some code out into a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 23:07:29 +0000 (23:07 +0000)]
new testcase that broke unswitch due to loopsimplify not doing the right thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 23:06:02 +0000 (23:06 +0000)]
Canonicalize inner loops before outer loops. Inner loop canonicalization
can provide work for the outer loop to canonicalize.
This fixes a case that breaks unswitching.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26189
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 23:05:54 +0000 (23:05 +0000)]
Doh again!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 22:34:08 +0000 (22:34 +0000)]
When splitting exit edges to canonicalize loops, make sure to put the new
block in the appropriate loop nest.
Third time is the charm, right?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 22:19:54 +0000 (22:19 +0000)]
new note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 22:18:23 +0000 (22:18 +0000)]
If we have zero initialized data with external linkage, use .zerofill to
emit it (instead of .space), saving a bit of space in the .o file.
For example:
int foo[100];
int bar[100] = {};
when compiled with C++ or -fno-common results in shrinkage from 1160 to 360
bytes of space. The X86 backend can also do this on darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26185
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 14 Feb 2006 22:01:57 +0000 (22:01 +0000)]
Using wrong DW_FORM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26184
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 21:52:51 +0000 (21:52 +0000)]
Don't special case XS, XD prefixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26183
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 21:45:24 +0000 (21:45 +0000)]
Bug fix: XS, XD prefixes were being emitted twice.
XMM registers were not being handled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 20:42:33 +0000 (20:42 +0000)]
Make sure that weak functions are aligned properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26181
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 20:37:37 +0000 (20:37 +0000)]
Duh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26180
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 20:30:14 +0000 (20:30 +0000)]
Remove -disable-x86-sse
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 20:14:17 +0000 (20:14 +0000)]
add an assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26178
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 20:12:38 +0000 (20:12 +0000)]
Keep to < 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26177
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 19:45:56 +0000 (19:45 +0000)]
Missed a break so memcpy cases fell through to memset. Doh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26176
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 09:11:59 +0000 (09:11 +0000)]
Fixed a build breakage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26175
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 08:38:30 +0000 (08:38 +0000)]
Rename maxStoresPerMemSet to maxStoresPerMemset, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26174
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 08:25:32 +0000 (08:25 +0000)]
Add a entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26173
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 08:25:08 +0000 (08:25 +0000)]
Set maxStoresPerMemSet to 16. Ditto for maxStoresPerMemCpy and
maxStoresPerMemMove. Although the last one is not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26172
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 08:22:34 +0000 (08:22 +0000)]
Expand memset dst, c, size to a series of stores if size falls below the
target specific theshold, e.g. 16 for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26171
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Feb 2006 08:07:58 +0000 (08:07 +0000)]
Enable SSE (for the right subtargets)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26169
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 14 Feb 2006 06:12:08 +0000 (06:12 +0000)]
Match changes to unix build system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 05:39:35 +0000 (05:39 +0000)]
now that libcalls don't suck, we can remove this hack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 05:16:35 +0000 (05:16 +0000)]
Adjust to new style "generated files in CVS" mechanism for lex output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26163
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 05:14:46 +0000 (05:14 +0000)]
adjust to new style of handling lexer changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 05:13:13 +0000 (05:13 +0000)]
Adjust to new form of handling lexer dependencies, this way shouldn't have
the problems the old way did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 05:12:00 +0000 (05:12 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26160
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 04:27:15 +0000 (04:27 +0000)]
Wrap a couple more long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26159
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 04:25:54 +0000 (04:25 +0000)]
wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 01:01:41 +0000 (01:01 +0000)]
Use statistics to keep track of what flavors of loops we are unswitching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Feb 2006 00:55:02 +0000 (00:55 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26156
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 23:07:23 +0000 (23:07 +0000)]
Implement Instcombine/and.ll:test34
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 23:07:02 +0000 (23:07 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 23:06:39 +0000 (23:06 +0000)]
Fix typo that caused build failures for things trying to use m_Or.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 22:41:07 +0000 (22:41 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 22:31:50 +0000 (22:31 +0000)]
testcase reduced from Ptrdist/bc that is miscompiled by recent instcombine changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 22:22:42 +0000 (22:22 +0000)]
Another hack due to allowing multiple symbols with the same name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26150
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 21:43:26 +0000 (21:43 +0000)]
Another work around for the 'symbols with different types can have the same
name' issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26149
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 13 Feb 2006 18:52:29 +0000 (18:52 +0000)]
improved zap discovery
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26148
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 13 Feb 2006 18:52:01 +0000 (18:52 +0000)]
test for improved zap discovery
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26147
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 13 Feb 2006 16:56:43 +0000 (16:56 +0000)]
Sync up the tag numbers with gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26146
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 13 Feb 2006 12:50:39 +0000 (12:50 +0000)]
Rename to better reflect usage (current and planned.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 09:18:02 +0000 (09:18 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 09:00:43 +0000 (09:00 +0000)]
Switch targets over to using SelectionDAG::getCALLSEQ_START to create
CALLSEQ_START nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 08:55:29 +0000 (08:55 +0000)]
Switch to using getCALLSEQ_START instead of using our own creation calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 08:54:46 +0000 (08:54 +0000)]
Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 07:26:36 +0000 (07:26 +0000)]
this passes now, due to Nate's recent efforts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 07:02:50 +0000 (07:02 +0000)]
Reduce this testcase a bit more, with the help of llvm-extract and some hand tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Feb 2006 06:09:08 +0000 (06:09 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26138
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 12 Feb 2006 10:24:00 +0000 (10:24 +0000)]
Added a test case for a libcall insertion bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26137
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 12 Feb 2006 09:09:52 +0000 (09:09 +0000)]
Add missing patterns for andi. and andis., fixing test/Regression/CodeGen/
PowerPC/and-imm.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26136
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 08:07:37 +0000 (08:07 +0000)]
remove some more dead special case code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26135
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 08:02:11 +0000 (08:02 +0000)]
Eliminate special case hacks that are superceded by general purpose hacks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 08:01:35 +0000 (08:01 +0000)]
tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 02:07:56 +0000 (02:07 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 02:06:31 +0000 (02:06 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 02:02:43 +0000 (02:02 +0000)]
move a failing testcase from bit-tracking.ll to narrow.ll, and move the
xfail marker with it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 01:59:10 +0000 (01:59 +0000)]
Revert my last patch. It too breaks stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Feb 2006 01:32:58 +0000 (01:32 +0000)]
Make these tests fail if opt crashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 21:24:54 +0000 (21:24 +0000)]
Fix for my previously reverted patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 09:37:07 +0000 (09:37 +0000)]
Update comments to be actually accurate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26124
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 09:33:28 +0000 (09:33 +0000)]
This is implemented by the simplify-libcalls pass, not instcombine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26123
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 09:31:47 +0000 (09:31 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 08:47:47 +0000 (08:47 +0000)]
revert my previous change, it exposed other problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26121
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 11 Feb 2006 07:33:17 +0000 (07:33 +0000)]
fix storing booleans (grawp missed this one)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26120
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 11 Feb 2006 07:32:15 +0000 (07:32 +0000)]
now short immediates will get matched (previously constants were all
triggering movl 64bit imm fat instructions)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 02:13:17 +0000 (02:13 +0000)]
Make this check stricter. Disallow loop exit blocks from being shared by
loops and their subloops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26118
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 11 Feb 2006 02:05:36 +0000 (02:05 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 01:43:37 +0000 (01:43 +0000)]
remove dead expr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26116
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 11 Feb 2006 01:01:30 +0000 (01:01 +0000)]
Reorg for integration with gcc4. Old style debug info will not be passed though
to SelIDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Feb 2006 00:43:37 +0000 (00:43 +0000)]
implement unswitching of loops with switch stmts and selects in them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 23:26:14 +0000 (23:26 +0000)]
Update PHI nodes in successors of exit blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 23:16:39 +0000 (23:16 +0000)]
Reform the unswitching code in terms of edge splitting, not block splitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26112
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Feb 2006 22:46:26 +0000 (22:46 +0000)]
Nicer code. :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26111
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Feb 2006 22:24:32 +0000 (22:24 +0000)]
Added X86 isel debugging stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 21:32:11 +0000 (21:32 +0000)]
Remove a level of indirection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 19:08:15 +0000 (19:08 +0000)]
Fix a case where UnswitchTrivialCondition broke critical edges with
phi's in the successors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26108
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 07:35:42 +0000 (07:35 +0000)]
Use the auto-generated call matcher. Remove a broken impl of the frameaddr/returnaddr
intrinsics.
Autogen frameindex matcher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 06:58:25 +0000 (06:58 +0000)]
Update to new-style flags usage, simplifying the .td file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26106
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Feb 2006 05:48:15 +0000 (05:48 +0000)]
Remove a completed entry; add a new entry about fisttp op
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26105
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 02:30:37 +0000 (02:30 +0000)]
add some notes, move some code around. Implement unswitching of loops
with branches on partially invariant computations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26104
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 02:01:22 +0000 (02:01 +0000)]
Move code around to be more logical, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Feb 2006 01:36:35 +0000 (01:36 +0000)]
When unswitching a trivial loop, do admit we are doing it! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26102
91177308-0d34-0410-b5e6-
96231b3b80d8