Chris Lattner
|
ebb7489537
|
Pass in a value type to getRegForInlineAsmConstraint, allowing targets to
select different sets of registers depending on the type requested.
llvm-svn: 26304
|
2006-02-21 23:10:29 +00:00 |
Evan Cheng
|
d58478161f
|
One more round of reorg so sabre doesn't freak out. :-)
llvm-svn: 26303
|
2006-02-21 20:00:20 +00:00 |
Evan Cheng
|
6fc1162855
|
A big more cleaning up.
llvm-svn: 26302
|
2006-02-21 19:30:30 +00:00 |
Evan Cheng
|
8711b6bff3
|
Moving things to their proper places.
llvm-svn: 26301
|
2006-02-21 19:26:52 +00:00 |
Evan Cheng
|
6e595b9fd8
|
Split instruction info into multiple files, one for each of x87, MMX, and SSE.
llvm-svn: 26300
|
2006-02-21 19:13:53 +00:00 |
Chris Lattner
|
0a08f44704
|
missed optzn
llvm-svn: 26299
|
2006-02-21 18:29:44 +00:00 |
Chris Lattner
|
747cf60696
|
The HasNoV9 hack isn't needed here, now that tblgen knows that CustomDAGSchedInserter
instructions are expensive.
llvm-svn: 26298
|
2006-02-21 18:04:32 +00:00 |
Evan Cheng
|
d57203c0a1
|
Added separate alias instructions for SSE logical ops that operate on non-packed types.
llvm-svn: 26297
|
2006-02-21 02:24:38 +00:00 |
Evan Cheng
|
afffe63fc1
|
Added MMX and XMM packed integer move instructions, movd and movq.
llvm-svn: 26296
|
2006-02-21 01:39:57 +00:00 |
Evan Cheng
|
fa57a0add9
|
Added SSE2 128-bit integer packed types: V16I8, V8I16, V4I32, and V2I64.
Added generic vector types: VR64 and VR128.
llvm-svn: 26295
|
2006-02-21 01:38:21 +00:00 |
Evan Cheng
|
43070b7541
|
Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bit
packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32).
llvm-svn: 26294
|
2006-02-20 22:34:53 +00:00 |
Evan Cheng
|
4547400ae2
|
Some updates
llvm-svn: 26292
|
2006-02-20 19:58:27 +00:00 |
Chris Lattner
|
301f45cf6f
|
Fix a problem Nate and Duraid reported where simplifying nodes can cause
them to get ressurected, in which case, deleting the undead nodes is
unfriendly.
llvm-svn: 26291
|
2006-02-20 06:51:04 +00:00 |
Chris Lattner
|
486d1bc5ed
|
Fix a problem on itanium with memset. The value to set has been promoted to
i64 before this code, so zero_ext doesn't work.
llvm-svn: 26290
|
2006-02-20 06:38:35 +00:00 |
Chris Lattner
|
c2e3a7a4ce
|
improved support for branch folding, still not enabled.
llvm-svn: 26289
|
2006-02-18 07:57:38 +00:00 |
Evan Cheng
|
d13778eb30
|
If SSE3 is available, promote FP_TO_UINT i32 to FP_TO_SINT i64 to take
advantage of fisttpll.
llvm-svn: 26288
|
2006-02-18 07:26:17 +00:00 |
Jeff Cohen
|
0add83e969
|
Fix bugs identified by VC++.
llvm-svn: 26287
|
2006-02-18 03:20:33 +00:00 |
Nate Begeman
|
983ca89714
|
Add a fold for add that exchanges it with a constant shift if possible, so
that the shift may be more easily folded into other operations.
llvm-svn: 26286
|
2006-02-18 02:43:25 +00:00 |
Chris Lattner
|
19fa8ac938
|
Implement deletion of dead blocks, currently disabled.
llvm-svn: 26285
|
2006-02-18 02:42:34 +00:00 |
Nate Begeman
|
abac61603f
|
Add checks to make sure we don't create bogus extend nodes, and fix a bug
where we were doing exactly that which was causing failures on x86 and
alpha.
llvm-svn: 26284
|
2006-02-18 02:40:58 +00:00 |
Evan Cheng
|
70af620709
|
Added fisttp for fp to int conversion.
llvm-svn: 26283
|
2006-02-18 02:36:28 +00:00 |
Evan Cheng
|
33f4156663
|
Bump up pattern cost if the resulting instruction is marked
usesCustomDAGSchedInserter.
llvm-svn: 26282
|
2006-02-18 02:33:09 +00:00 |
Evan Cheng
|
06c2e6d1b3
|
Disable PIC for JIT.
llvm-svn: 26281
|
2006-02-18 01:49:25 +00:00 |
Chris Lattner
|
cb853de534
|
a previous patch completely disabled trivial unswitching, this fixees it.
Thanks to nate for pointing this out :)
llvm-svn: 26280
|
2006-02-18 01:32:04 +00:00 |
Chris Lattner
|
29f771ba21
|
initial trivial support for folding branches that have now-constant destinations.
llvm-svn: 26279
|
2006-02-18 01:27:45 +00:00 |
Evan Cheng
|
5caed8a231
|
Jit does not support PIC yet.
llvm-svn: 26278
|
2006-02-18 00:57:10 +00:00 |
Chris Lattner
|
8e44ff50b0
|
When unswitching a loop, make sure to update loop info with exit blocks in
the right loop.
llvm-svn: 26277
|
2006-02-18 00:55:32 +00:00 |
Chris Lattner
|
d95665188b
|
Fix Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll
llvm-svn: 26275
|
2006-02-18 00:33:17 +00:00 |
Chris Lattner
|
88b8e3bb71
|
new testcase that crashes simplifycfg
llvm-svn: 26274
|
2006-02-18 00:32:44 +00:00 |
Evan Cheng
|
5588de9415
|
x86 / Darwin PIC support.
llvm-svn: 26273
|
2006-02-18 00:15:05 +00:00 |
Evan Cheng
|
5f99760ae7
|
Moved PICEnabled to include/llvm/Target/TargetOptions.h
llvm-svn: 26272
|
2006-02-18 00:08:58 +00:00 |
Evan Cheng
|
94a8bd4290
|
Move PICEnabled declaration here.
llvm-svn: 26271
|
2006-02-18 00:06:03 +00:00 |
Chris Lattner
|
375e1a71cc
|
Fix a tricky issue in the SimplifyDemandedBits code where CombineTo wasn't
exactly the API we wanted to call into. This fixes the crash on crafty last
night.
llvm-svn: 26269
|
2006-02-17 21:58:01 +00:00 |
Chris Lattner
|
4a717bbbfb
|
add a new method
llvm-svn: 26268
|
2006-02-17 21:57:00 +00:00 |
Nate Begeman
|
8d0e47a017
|
A few final (for now) tests
llvm-svn: 26267
|
2006-02-17 21:38:45 +00:00 |
Nate Begeman
|
6aee554aa1
|
Yet another test
llvm-svn: 26266
|
2006-02-17 21:32:46 +00:00 |
Nate Begeman
|
5e176da364
|
New tests!
llvm-svn: 26265
|
2006-02-17 21:22:08 +00:00 |
Robert Bocchino
|
820bc75b8b
|
Added documentation for vset and vselect.
llvm-svn: 26264
|
2006-02-17 21:18:08 +00:00 |
Nate Begeman
|
fb5dbadf15
|
Clean up DemandedBitsAreZero interface
Make more use of the new mask helpers in valuetypes.h
Combine (sra (srl x, c1), c1) -> sext_inreg if legal
llvm-svn: 26263
|
2006-02-17 19:54:08 +00:00 |
Nate Begeman
|
1d7d611ba4
|
Fix a nit sabre noticed
llvm-svn: 26262
|
2006-02-17 18:06:19 +00:00 |
Nate Begeman
|
57b3567552
|
Don't expand sdiv by power of two before legalize, since it will likely
generate illegal nodes.
llvm-svn: 26261
|
2006-02-17 07:26:20 +00:00 |
Chris Lattner
|
07a2677e43
|
unbreak the build
llvm-svn: 26260
|
2006-02-17 07:09:27 +00:00 |
Evan Cheng
|
593bea73ba
|
Unbreak x86 be
llvm-svn: 26259
|
2006-02-17 07:01:52 +00:00 |
Chris Lattner
|
baddba41c7
|
Fix loops where the header has an exit, fixing a loop-unswitch crash on crafty
llvm-svn: 26258
|
2006-02-17 06:39:56 +00:00 |
Nate Begeman
|
42c9e4df6f
|
Fix a comment sabre noticed :)
llvm-svn: 26257
|
2006-02-17 06:24:31 +00:00 |
Nate Begeman
|
669ad7ea19
|
A couple new regression tests to make sure we always pattern match the new
opcodes on ppc.
llvm-svn: 26256
|
2006-02-17 06:16:56 +00:00 |
Nate Begeman
|
5965bd19f8
|
kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC
and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.
llvm-svn: 26255
|
2006-02-17 05:43:56 +00:00 |
Chris Lattner
|
9ec392b2aa
|
Fix another miscompilation exposed by lencode, where we lowered i64->f32
conversions to __floatdidf instead of __floatdisf on targets that support
f32 but not i64 (e.g. sparc).
llvm-svn: 26254
|
2006-02-17 04:32:33 +00:00 |
Chris Lattner
|
67c21b6c46
|
add note about div by power of 2
llvm-svn: 26253
|
2006-02-17 04:20:13 +00:00 |
Jeff Cohen
|
0d62ebd13f
|
Fix bug noticed by VC++.
llvm-svn: 26252
|
2006-02-17 02:12:18 +00:00 |