Jim Laskey [Sun, 29 Oct 2006 09:19:59 +0000 (09:19 +0000)]
Try again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31278
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sun, 29 Oct 2006 08:27:07 +0000 (08:27 +0000)]
Not handling zero length strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31277
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 29 Oct 2006 06:14:47 +0000 (06:14 +0000)]
VLOAD is not the LoadSDNode opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31276
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 29 Oct 2006 02:26:30 +0000 (02:26 +0000)]
Remove spurious case. EXTLOAD is not one of the node opcodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31275
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 19:22:10 +0000 (19:22 +0000)]
split critical edges more carefully and intelligently. In particular, critical
edges whose destinations are not phi nodes don't bother us. Also, share
split edges, since the split edge can't have a phi. This significantly
reduces the complexity of generated code in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:34:47 +0000 (18:34 +0000)]
Teach branch folding to fold identical jump tables together and to delete
jump tables that are dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:21:51 +0000 (18:21 +0000)]
add an assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:21:29 +0000 (18:21 +0000)]
remove dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31271
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:18:36 +0000 (18:18 +0000)]
add a method for hacking on JTIdx's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:17:09 +0000 (18:17 +0000)]
const'ify jump table stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:12:00 +0000 (18:12 +0000)]
add a method for deleting dead jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:11:20 +0000 (18:11 +0000)]
add an assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:10:06 +0000 (18:10 +0000)]
don't print dead jump tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31266
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 18:00:05 +0000 (18:00 +0000)]
determine whether a change was made
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 17:35:02 +0000 (17:35 +0000)]
implement the BlockHasNoFallThrough hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31264
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 17:32:47 +0000 (17:32 +0000)]
improve deletion of blocks that just contain branches by knowing that
the pred block doesn't fall through into them if it's a jumptable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31263
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 17:29:57 +0000 (17:29 +0000)]
add another target hook for branch folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31262
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 28 Oct 2006 17:25:28 +0000 (17:25 +0000)]
Load and stores have not been uniqued properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31261
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 17:04:37 +0000 (17:04 +0000)]
Split *all* critical edges before isel. This resolves issues with spill code
being inserted on unsplit critical edges, which introduces (sometimes large
amounts of) partially dead spill code.
This also fixes PR925 + CodeGen/Generic/switch-crit-edge-constant.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31260
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 17:04:16 +0000 (17:04 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31259
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 06:58:17 +0000 (06:58 +0000)]
add option to isCriticalEdge
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31258
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 06:45:33 +0000 (06:45 +0000)]
break edges more intelligently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 06:44:56 +0000 (06:44 +0000)]
Expose a smarter way to break critical edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31256
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 06:38:14 +0000 (06:38 +0000)]
SplitCriticalEdge checks to see if an edge is critical, don't check twice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31255
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 06:15:26 +0000 (06:15 +0000)]
Fix a serious bug that caused any x86 vector stuff to infinite loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31254
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 28 Oct 2006 05:56:51 +0000 (05:56 +0000)]
Doh. Must check if GV is constant first before putting it in .cstring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31253
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 28 Oct 2006 05:56:06 +0000 (05:56 +0000)]
Doh. Must check if GV is constant first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31252
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 28 Oct 2006 02:34:41 +0000 (02:34 +0000)]
Emitting raw bytecode is awfully rude. Add -disable-output.
Clarify the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31251
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 28 Oct 2006 01:34:21 +0000 (01:34 +0000)]
Editorial clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 01:24:05 +0000 (01:24 +0000)]
add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31249
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 00:59:20 +0000 (00:59 +0000)]
prepare for a change I'm about to make
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31248
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 00:51:15 +0000 (00:51 +0000)]
don't dist internal readme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 00:49:54 +0000 (00:49 +0000)]
don't dist internal readme's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Oct 2006 00:48:27 +0000 (00:48 +0000)]
don't distribute internal readme's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31245
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 28 Oct 2006 00:11:39 +0000 (00:11 +0000)]
Make sure all the readme files get distributed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31244
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 23:52:51 +0000 (23:52 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 23:50:33 +0000 (23:50 +0000)]
Fix a bug in merged condition handling (CodeGen/Generic/2006-10-27-CondFolding.ll).
Add many fewer CFG edges and PHI node entries. If there is a switch which has
the same block as multiple destinations, only add that block once as a successor/phi
node (in the jumptable case)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 23:47:34 +0000 (23:47 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31241
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 23:46:08 +0000 (23:46 +0000)]
Switch over from SelectionNodeCSEMap to FoldingSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31240
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 27 Oct 2006 23:06:27 +0000 (23:06 +0000)]
Use doc_code class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31239
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 22:52:02 +0000 (22:52 +0000)]
Clean up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31238
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 27 Oct 2006 22:02:30 +0000 (22:02 +0000)]
Document removeModule().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31237
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 22:02:19 +0000 (22:02 +0000)]
this doesn't occur any more in mason
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 22:00:55 +0000 (22:00 +0000)]
the code in question is now:
cmpw cr0, r7, r3
ble cr0, LBB1_5 ;bb25
LBB1_8: ;bb17
cmpw cr0, r8, r5
bgt cr0, LBB1_2 ;bb
which is just as good as crnand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31235
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 27 Oct 2006 21:58:31 +0000 (21:58 +0000)]
Document getAlignment()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 21:58:03 +0000 (21:58 +0000)]
remove debug code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 21:54:23 +0000 (21:54 +0000)]
Codegen cond&cond with two branches. This compiles (f.e.) PowerPC/and-branch.ll to:
cmpwi cr0, r4, 4
bgt cr0, LBB1_2 ;UnifiedReturnBlock
LBB1_3: ;entry
cmplwi cr0, r3, 0
bne cr0, LBB1_2 ;UnifiedReturnBlock
instead of:
cmpwi cr7, r4, 4
mfcr r2
addic r4, r3, -1
subfe r3, r4, r3
rlwinm r2, r2, 30, 31, 31
or r2, r2, r3
cmplwi cr0, r2, 0
bne cr0, LBB1_2 ;UnifiedReturnBlock
LBB1_1: ;cond_true
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 21:52:39 +0000 (21:52 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 21:36:01 +0000 (21:36 +0000)]
Turn conditions like x<Y|z==q into multiple blocks.
This compiles Regression/CodeGen/X86/or-branch.ll into:
_foo:
subl $12, %esp
call L_bar$stub
movl 20(%esp), %eax
movl 16(%esp), %ecx
cmpl $5, %eax
jl LBB1_1 #cond_true
LBB1_3: #entry
testl %ecx, %ecx
jne LBB1_2 #UnifiedReturnBlock
LBB1_1: #cond_true
call L_bar$stub
addl $12, %esp
ret
LBB1_2: #UnifiedReturnBlock
addl $12, %esp
ret
instead of:
_foo:
subl $12, %esp
call L_bar$stub
movl 20(%esp), %eax
movl 16(%esp), %ecx
cmpl $4, %eax
setg %al
testl %ecx, %ecx
setne %cl
testb %cl, %al
jne LBB1_2 #UnifiedReturnBlock
LBB1_1: #cond_true
call L_bar$stub
addl $12, %esp
ret
LBB1_2: #UnifiedReturnBlock
addl $12, %esp
ret
And on ppc to:
cmpwi cr0, r29, 5
blt cr0, LBB1_1 ;cond_true
LBB1_3: ;entry
cmplwi cr0, r30, 0
bne cr0, LBB1_2 ;UnifiedReturnBlock
instead of:
cmpwi cr7, r4, 4
mfcr r2
addic r4, r3, -1
subfe r30, r4, r3
rlwinm r29, r2, 30, 31, 31
and r2, r29, r30
cmplwi cr0, r2, 0
bne cr0, LBB1_2 ;UnifiedReturnBlock
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31230
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Oct 2006 21:32:10 +0000 (21:32 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31229
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Oct 2006 21:08:32 +0000 (21:08 +0000)]
Fixed a significant bug where unpcklpd is incorrectly used to extract element 1 from a v2f64 value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31228
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Oct 2006 21:05:18 +0000 (21:05 +0000)]
Add a new vextract test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31227
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 27 Oct 2006 20:22:04 +0000 (20:22 +0000)]
Forgot a }
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31226
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 27 Oct 2006 20:18:06 +0000 (20:18 +0000)]
Re-added the part where it tries to remove all global variables first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31225
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 19:38:32 +0000 (19:38 +0000)]
SmallVector append not insert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31224
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 19:20:12 +0000 (19:20 +0000)]
Grrr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31223
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 19:14:16 +0000 (19:14 +0000)]
Temp patch for missing functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31222
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Oct 2006 18:58:54 +0000 (18:58 +0000)]
Make the Value and Type methods print a newline so it prints nicely in gdb
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31221
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Oct 2006 18:49:08 +0000 (18:49 +0000)]
Fix for PR968: expand vector sdiv, udiv, srem, urem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31220
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 27 Oct 2006 18:47:29 +0000 (18:47 +0000)]
MathExtras isn't in the llvm/ADT directory but in the llvm/Support directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31219
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 18:05:12 +0000 (18:05 +0000)]
Apply editorials.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31218
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Oct 2006 16:43:34 +0000 (16:43 +0000)]
Improve cvs ignoring of test results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31217
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Oct 2006 16:16:16 +0000 (16:16 +0000)]
Breakout folding hash set from SelectionDAGCSEMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31215
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Oct 2006 16:14:06 +0000 (16:14 +0000)]
Initialize CStringSection member var.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31214
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Oct 2006 05:30:23 +0000 (05:30 +0000)]
Add a run line to this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31211
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 21:55:50 +0000 (21:55 +0000)]
Change load PatFrag to ignore indexed load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31210
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 21:53:40 +0000 (21:53 +0000)]
getPreIndexedLoad -> getIndexedLoad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31209
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 21:52:24 +0000 (21:52 +0000)]
Indexed load / store changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31208
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 21:48:57 +0000 (21:48 +0000)]
Place cstrings in .cstring section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31207
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 21:48:03 +0000 (21:48 +0000)]
Speed up isCString()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31206
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 26 Oct 2006 20:46:22 +0000 (20:46 +0000)]
Save temp. bc files when saveTemps flag is true. Use final output file
name supplied by linker to construct temp bc file names.
Remove tabs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31205
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Oct 2006 19:19:06 +0000 (19:19 +0000)]
Simplify code a bit by changing instances of:
InsertNewInstBefore(new CastInst(Val, ValTy, Val->GetName()), I)
into:
InsertCastBefore(Val, ValTy, I)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31204
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 19:18:18 +0000 (19:18 +0000)]
Put cstrings in .cstring section when compiling for Mac OS X.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31203
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 19:16:20 +0000 (19:16 +0000)]
Added CStringSection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31202
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Oct 2006 19:15:05 +0000 (19:15 +0000)]
Add isCString() - returns true if a ConstantArray is a CString.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Oct 2006 18:27:26 +0000 (18:27 +0000)]
Fix Transforms/InstCombine/2006-10-26-VectorReassoc.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Oct 2006 18:26:53 +0000 (18:26 +0000)]
new testcase, should not reassoc fp vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Oct 2006 18:22:45 +0000 (18:22 +0000)]
Add isFPOrFPVector() method, which indicates if a type is either FP or a
vector of FP types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31198
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 26 Oct 2006 13:31:26 +0000 (13:31 +0000)]
initial support for frame pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31197
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Oct 2006 06:17:40 +0000 (06:17 +0000)]
Enclose a case in { and } so that the pickier compilers don't complain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31196
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Oct 2006 06:15:43 +0000 (06:15 +0000)]
For PR950:
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 26 Oct 2006 02:35:18 +0000 (02:35 +0000)]
Fix 2006-10-25-AddSetCC. A relational operator (like setlt) can never
produce an EQ property.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31193
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 26 Oct 2006 02:33:51 +0000 (02:33 +0000)]
Handling of setlt/le/gt/ge is broken at the moment; predsimplify removes
the call the pass2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31192
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 26 Oct 2006 01:42:23 +0000 (01:42 +0000)]
Make the makefile tell us when Intrinsics.gen is being updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31191
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 26 Oct 2006 00:51:58 +0000 (00:51 +0000)]
This testcase was logically wrong! Fixing, and including the test for the
mistake that I made in the file too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31190
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 25 Oct 2006 23:48:24 +0000 (23:48 +0000)]
Resurrect r1.25.
Fix and comment the "or", "and" and "xor" transformations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 22:21:37 +0000 (22:21 +0000)]
simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31188
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 25 Oct 2006 21:59:00 +0000 (21:59 +0000)]
New shuffle test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31187
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 25 Oct 2006 21:49:50 +0000 (21:49 +0000)]
During vector shuffle lowering, we sometimes commute a vector shuffle to try
to match MOVL (movss, movsd, etc.). Don't forget to commute it back and try
unpck* and shufp* if that doesn't pan out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31186
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 25 Oct 2006 21:35:05 +0000 (21:35 +0000)]
X86ISD::PEXTRW 3rd operand type is always target pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31185
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 21:14:31 +0000 (21:14 +0000)]
hide symbols properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31184
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 25 Oct 2006 20:48:19 +0000 (20:48 +0000)]
Remove -disable-x86-shuffle-opti
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31183
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 25 Oct 2006 18:36:14 +0000 (18:36 +0000)]
Fix for PR960. Improves bugpoint so that it removes global variable
initializers as well. This is only a first pass. It can be slow because
it clones the module for each pass. An obvious improvement is not to do that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31182
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 25 Oct 2006 18:10:07 +0000 (18:10 +0000)]
Supply alignment info to linker through LLVMSymbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31181
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 18:08:50 +0000 (18:08 +0000)]
turn off tail merging for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31180
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 18:08:14 +0000 (18:08 +0000)]
be more aggressive about matching identical instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 16:37:47 +0000 (16:37 +0000)]
Allow this to pass on ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31178
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 25 Oct 2006 16:35:10 +0000 (16:35 +0000)]
Modernize the testcase, allow it to pass on ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31177
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 24 Oct 2006 20:48:29 +0000 (20:48 +0000)]
TargetData is not subclassed. So no need to have virtual method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31173
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 24 Oct 2006 20:32:44 +0000 (20:32 +0000)]
Targets should depend on all the intrinsics.td files also, otherwise they
will compute a locally wrong numbering for the intrinsics. This fixes a
nasty issue where the x86 backend started miscompiling stuff in a 'cvs up'd
build after the altivec intrinsics were added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31172
91177308-0d34-0410-b5e6-
96231b3b80d8