Evan Cheng
|
fee17dfff8
|
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
|
5d8ecbe2e5
|
missed optzn
llvm-svn: 26299
|
2006-02-21 18:29:44 +00:00 |
|
Chris Lattner
|
dfdfc6b22d
|
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
|
89553f1e86
|
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
|
e68325d8aa
|
Added MMX and XMM packed integer move instructions, movd and movq.
llvm-svn: 26296
|
2006-02-21 01:39:57 +00:00 |
|
Evan Cheng
|
1b23fdda1a
|
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
|
6a9422ce1c
|
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
|
a0f9da472a
|
Some updates
llvm-svn: 26292
|
2006-02-20 19:58:27 +00:00 |
|
Chris Lattner
|
4b5130d957
|
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
|
d5b8bfef65
|
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
|
4121b502d3
|
improved support for branch folding, still not enabled.
llvm-svn: 26289
|
2006-02-18 07:57:38 +00:00 |
|
Evan Cheng
|
063df91002
|
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
|
6e4fbcce8f
|
Fix bugs identified by VC++.
llvm-svn: 26287
|
2006-02-18 03:20:33 +00:00 |
|
Nate Begeman
|
d89b8719f3
|
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
|
71d62c944d
|
Implement deletion of dead blocks, currently disabled.
llvm-svn: 26285
|
2006-02-18 02:42:34 +00:00 |
|
Nate Begeman
|
bbcae2bf3d
|
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
|
b3d9ee74ad
|
Added fisttp for fp to int conversion.
llvm-svn: 26283
|
2006-02-18 02:36:28 +00:00 |
|
Evan Cheng
|
110f651cba
|
Bump up pattern cost if the resulting instruction is marked
usesCustomDAGSchedInserter.
llvm-svn: 26282
|
2006-02-18 02:33:09 +00:00 |
|
Evan Cheng
|
d2ad380df9
|
Disable PIC for JIT.
llvm-svn: 26281
|
2006-02-18 01:49:25 +00:00 |
|
Chris Lattner
|
5f12d7c418
|
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
|
359476b89f
|
initial trivial support for folding branches that have now-constant destinations.
llvm-svn: 26279
|
2006-02-18 01:27:45 +00:00 |
|
Evan Cheng
|
09bd678546
|
Jit does not support PIC yet.
llvm-svn: 26278
|
2006-02-18 00:57:10 +00:00 |
|
Chris Lattner
|
39356756ac
|
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
|
d9b0de3240
|
Fix Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll
llvm-svn: 26275
|
2006-02-18 00:33:17 +00:00 |
|
Chris Lattner
|
7e722ae07c
|
new testcase that crashes simplifycfg
llvm-svn: 26274
|
2006-02-18 00:32:44 +00:00 |
|
Evan Cheng
|
bf3558a375
|
x86 / Darwin PIC support.
llvm-svn: 26273
|
2006-02-18 00:15:05 +00:00 |
|
Evan Cheng
|
c4cda2b89a
|
Moved PICEnabled to include/llvm/Target/TargetOptions.h
llvm-svn: 26272
|
2006-02-18 00:08:58 +00:00 |
|
Evan Cheng
|
bba9078fed
|
Move PICEnabled declaration here.
llvm-svn: 26271
|
2006-02-18 00:06:03 +00:00 |
|
Chris Lattner
|
bd36f029ef
|
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
|
c3c99f3a18
|
add a new method
llvm-svn: 26268
|
2006-02-17 21:57:00 +00:00 |
|
Nate Begeman
|
fff4228d3e
|
A few final (for now) tests
llvm-svn: 26267
|
2006-02-17 21:38:45 +00:00 |
|
Nate Begeman
|
9f848d4c36
|
Yet another test
llvm-svn: 26266
|
2006-02-17 21:32:46 +00:00 |
|
Nate Begeman
|
79c1e470e6
|
New tests!
llvm-svn: 26265
|
2006-02-17 21:22:08 +00:00 |
|
Robert Bocchino
|
af94600ae5
|
Added documentation for vset and vselect.
llvm-svn: 26264
|
2006-02-17 21:18:08 +00:00 |
|
Nate Begeman
|
7ebd8fd80d
|
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
|
aef186befc
|
Fix a nit sabre noticed
llvm-svn: 26262
|
2006-02-17 18:06:19 +00:00 |
|
Nate Begeman
|
a3a0a0340f
|
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
|
3a899dbbc8
|
unbreak the build
llvm-svn: 26260
|
2006-02-17 07:09:27 +00:00 |
|
Evan Cheng
|
330fd348ff
|
Unbreak x86 be
llvm-svn: 26259
|
2006-02-17 07:01:52 +00:00 |
|
Chris Lattner
|
d5a4da466a
|
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
|
fe88578402
|
Fix a comment sabre noticed :)
llvm-svn: 26257
|
2006-02-17 06:24:31 +00:00 |
|
Nate Begeman
|
c030319b43
|
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
|
9c0ab71f4a
|
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
|
6632b8ab04
|
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
|
13dd179299
|
add note about div by power of 2
llvm-svn: 26253
|
2006-02-17 04:20:13 +00:00 |
|
Jeff Cohen
|
04caf92624
|
Fix bug noticed by VC++.
llvm-svn: 26252
|
2006-02-17 02:12:18 +00:00 |
|
Jeff Cohen
|
c6693dcdab
|
Inform Visual Studio of deleted file.
llvm-svn: 26251
|
2006-02-17 02:11:34 +00:00 |
|
Nate Begeman
|
224405b002
|
Whoops, didn't mean to check this in yet.
llvm-svn: 26250
|
2006-02-17 00:56:19 +00:00 |
|
Nate Begeman
|
7269afbf38
|
Add a missing and useful pat frag
llvm-svn: 26249
|
2006-02-17 00:51:06 +00:00 |
|
Chris Lattner
|
e2286db8d8
|
start of some new simplification code, not thoroughly tested, use at your own
risk :)
llvm-svn: 26248
|
2006-02-17 00:31:07 +00:00 |
|