Evan Cheng
da095e61c1
cvtsd2ss / cvtss2sd encoding bug.
...
llvm-svn: 26193
2006-02-15 00:31:03 +00:00
Evan Cheng
198d9447d6
movaps, movapd encoding bug.
...
llvm-svn: 26192
2006-02-15 00:11:37 +00:00
Chris Lattner
456e164ccb
pull some code out into a function
...
llvm-svn: 26191
2006-02-15 00:07:43 +00:00
Chris Lattner
84cf35da87
new testcase that broke unswitch due to loopsimplify not doing the right thing.
...
llvm-svn: 26190
2006-02-14 23:07:29 +00:00
Chris Lattner
99b81c856f
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.
llvm-svn: 26189
2006-02-14 23:06:02 +00:00
Evan Cheng
6789a748ac
Doh again!
...
llvm-svn: 26188
2006-02-14 23:05:54 +00:00
Chris Lattner
277e76337e
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?
llvm-svn: 26187
2006-02-14 22:34:08 +00:00
Chris Lattner
17226f6adc
new note
...
llvm-svn: 26186
2006-02-14 22:19:54 +00:00
Chris Lattner
af26f481e9
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.
llvm-svn: 26185
2006-02-14 22:18:23 +00:00
Jim Laskey
bb6d481323
Using wrong DW_FORM.
...
llvm-svn: 26184
2006-02-14 22:01:57 +00:00
Evan Cheng
be93477b3a
Don't special case XS, XD prefixes.
...
llvm-svn: 26183
2006-02-14 21:52:51 +00:00
Evan Cheng
9fd77e0a2d
Bug fix: XS, XD prefixes were being emitted twice.
...
XMM registers were not being handled.
llvm-svn: 26182
2006-02-14 21:45:24 +00:00
Chris Lattner
02f3db9781
Make sure that weak functions are aligned properly
...
llvm-svn: 26181
2006-02-14 20:42:33 +00:00
Evan Cheng
26c6d7609c
Duh
...
llvm-svn: 26180
2006-02-14 20:37:37 +00:00
Evan Cheng
1c09cac907
Remove -disable-x86-sse
...
llvm-svn: 26179
2006-02-14 20:30:14 +00:00
Chris Lattner
f5f9a68dec
add an assert
...
llvm-svn: 26178
2006-02-14 20:14:17 +00:00
Evan Cheng
5a2a9d3896
Keep to < 80 cols
...
llvm-svn: 26177
2006-02-14 20:12:38 +00:00
Evan Cheng
8937c047b3
Missed a break so memcpy cases fell through to memset. Doh.
...
llvm-svn: 26176
2006-02-14 19:45:56 +00:00
Evan Cheng
57eebe8ab4
Fixed a build breakage.
...
llvm-svn: 26175
2006-02-14 09:11:59 +00:00
Evan Cheng
f6c74c0096
Rename maxStoresPerMemSet to maxStoresPerMemset, etc.
...
llvm-svn: 26174
2006-02-14 08:38:30 +00:00
Evan Cheng
030631350f
Add a entry.
...
llvm-svn: 26173
2006-02-14 08:25:32 +00:00
Evan Cheng
80812d1070
Set maxStoresPerMemSet to 16. Ditto for maxStoresPerMemCpy and
...
maxStoresPerMemMove. Although the last one is not used.
llvm-svn: 26172
2006-02-14 08:25:08 +00:00
Evan Cheng
0bfe83eb5b
Expand memset dst, c, size to a series of stores if size falls below the
...
target specific theshold, e.g. 16 for x86.
llvm-svn: 26171
2006-02-14 08:22:34 +00:00
Evan Cheng
22eefc700f
Enable SSE (for the right subtargets)
...
llvm-svn: 26169
2006-02-14 08:07:58 +00:00
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