Chandler Carruth [Sat, 4 Aug 2007 01:56:21 +0000 (01:56 +0000)]
Regenerating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40808
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 4 Aug 2007 01:51:18 +0000 (01:51 +0000)]
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Aug 2007 01:47:41 +0000 (01:47 +0000)]
split rewriting of single-store allocas into its own
method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Aug 2007 01:41:18 +0000 (01:41 +0000)]
refactor some code to shrink PromoteMem2Reg::run a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Aug 2007 01:19:38 +0000 (01:19 +0000)]
add a typedef, no other change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Aug 2007 01:07:49 +0000 (01:07 +0000)]
avoid an unneeded vector copy. This speeds up mem2reg on the testcase
in PR1432 by 6%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Aug 2007 01:04:40 +0000 (01:04 +0000)]
make RenamePassWorkList a local var instead of an ivar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40802
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 3 Aug 2007 22:46:15 +0000 (22:46 +0000)]
Make x86 long double alignment 32 for everything but
Darwin (which makes size within a struct==96)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40796
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 3 Aug 2007 20:51:37 +0000 (20:51 +0000)]
long double patch 3 of N. Add to MVT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40793
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 3 Aug 2007 20:20:50 +0000 (20:20 +0000)]
long double patch 2 of N. Handle it in TargetData.
(I've tried to get the info right for all targets,
but I'm not expert on all of them - check yours.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40792
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 3 Aug 2007 19:59:35 +0000 (19:59 +0000)]
Fix a subtle miscompilation. This allows 197.parser to be compiled correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40791
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 3 Aug 2007 11:03:26 +0000 (11:03 +0000)]
Fix a subtle iterator invalidation bug in a recursive algorithm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40776
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 3 Aug 2007 05:43:35 +0000 (05:43 +0000)]
Prepare for "core" website.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40775
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 3 Aug 2007 01:03:46 +0000 (01:03 +0000)]
Long double, part 1 of N. Support in IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Aug 2007 00:17:42 +0000 (00:17 +0000)]
add an observation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 21:33:36 +0000 (21:33 +0000)]
Fix an accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40758
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Aug 2007 21:21:54 +0000 (21:21 +0000)]
More explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40757
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Aug 2007 21:17:01 +0000 (21:17 +0000)]
Fix the alignment requirements of several unpck and shuf instructions.
Generalize isPSHUFDMask and add a unary SHUFPD pattern so that SHUFPD's
memory operand alignment can be tested as well, with a fix to avoid
breaking MMX's use of isPSHUFDMask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40756
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Aug 2007 21:06:40 +0000 (21:06 +0000)]
Fix pastos in vector arithmetic intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40754
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Aug 2007 18:20:52 +0000 (18:20 +0000)]
Fix 80 col. violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40751
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Aug 2007 18:16:06 +0000 (18:16 +0000)]
Fix 80 col. violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40750
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Aug 2007 18:11:11 +0000 (18:11 +0000)]
Fix 80 col. violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 18:08:16 +0000 (18:08 +0000)]
don't redefine a parameter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40748
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Aug 2007 17:56:05 +0000 (17:56 +0000)]
Fix a bug that was causing several miscompilations on SPEC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40746
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Thu, 2 Aug 2007 17:52:00 +0000 (17:52 +0000)]
Implement review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40745
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 17:43:39 +0000 (17:43 +0000)]
I don't have time to restore this functionality right now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40743
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 17:23:38 +0000 (17:23 +0000)]
Replacing a cast with another one does not reduce the number of
casts in the input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 17:11:24 +0000 (17:11 +0000)]
Reduced testcase for PR1594
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 16:56:32 +0000 (16:56 +0000)]
Disable an xform that causes an infinite loop. This fixes PR1594
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 16:53:43 +0000 (16:53 +0000)]
wrap some long lines. Major offenders that are left include
gvn, gvnpre, dse, and predsimplify. To see these, use:
make check-line-length
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40738
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 2 Aug 2007 15:25:57 +0000 (15:25 +0000)]
Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589, again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40737
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Aug 2007 14:27:55 +0000 (14:27 +0000)]
Mark the SSE and MMX load instructions that
X86InstrInfo::isReallyTriviallyReMaterializable knows how to handle
with the isReMaterializable flag so that it is given a chance to handle
them. Without hoisting constant-pool loads from loops this isn't very
visible, though it does keep CodeGen/X86/constant-pool-remat-0.ll from
making a copy of the constant pool on the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40736
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 06:11:14 +0000 (06:11 +0000)]
Enhance instcombine to be more aggressive about folding casts of
operations of casts. This implements InstCombine/zext-fold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40726
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 2 Aug 2007 06:05:19 +0000 (06:05 +0000)]
Fix bug spotted by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40725
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 2 Aug 2007 06:00:13 +0000 (06:00 +0000)]
Add extend and extOrTrunc methods that do sign or zero extension depending on whether the integer is signed or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40724
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Aug 2007 05:48:35 +0000 (05:48 +0000)]
Switch some multiplication instructions over to the new scheme for testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40723
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Aug 2007 05:29:38 +0000 (05:29 +0000)]
Do not emit copies for physical register output if it's not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40722
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Aug 2007 05:04:16 +0000 (05:04 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Aug 2007 04:47:05 +0000 (04:47 +0000)]
Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40720
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 2 Aug 2007 03:30:26 +0000 (03:30 +0000)]
Adjust for new CallInst constructor interface.
This fixes test/Feature/llvm2cpp.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40714
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Thu, 2 Aug 2007 02:22:46 +0000 (02:22 +0000)]
Style police: Expand the tabs to spaces!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40712
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Thu, 2 Aug 2007 01:18:14 +0000 (01:18 +0000)]
Teach BasicAA about noalias parameter attributes, but do it correctly this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40711
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Aug 2007 00:28:15 +0000 (00:28 +0000)]
Instead of adding copyfromreg's to handle physical definitions. Now isel can
simply specify them as results and let scheduledag handle them. That
is, instead of
SDOperand Flag = DAG.getTargetNode(Opc, MVT::i32, MVT::Flag, ...)
SDOperand Result = DAG.getCopyFromReg(Chain, X86::EAX, MVT::i32, Flag)
Just write:
SDOperand Result = DAG.getTargetNode(Opc, MVT::i32, MVT::i32, ...)
And let scheduledag emit the move from X86::EAX to a virtual register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40710
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Aug 2007 00:20:17 +0000 (00:20 +0000)]
Added TargetInstrDescriptor::numDefs - num of results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40709
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 23:46:47 +0000 (23:46 +0000)]
Can't handle offset and scale if rip-relative addressing is to be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40703
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 23:46:10 +0000 (23:46 +0000)]
Mac OS X X86-64 low 4G address not available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40702
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 23:45:51 +0000 (23:45 +0000)]
Mac OS X X86-64 low 4G address not available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40701
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Aug 2007 23:24:50 +0000 (23:24 +0000)]
Undo previous check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40698
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 23:07:38 +0000 (23:07 +0000)]
Some out operands were incorrectly specified as input operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40697
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 1 Aug 2007 23:07:36 +0000 (23:07 +0000)]
Make sure these tests pass for the right reasons (verifier error, rather than
failure to assemble).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40696
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Aug 2007 22:23:50 +0000 (22:23 +0000)]
Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40695
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Aug 2007 22:01:54 +0000 (22:01 +0000)]
Make non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40692
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 21:42:24 +0000 (21:42 +0000)]
Missing Requires.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40691
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 20:26:40 +0000 (20:26 +0000)]
New test. Bogus implicit-def prevented a copy from being coalesced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40690
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 20:22:37 +0000 (20:22 +0000)]
Be more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40689
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 20:18:21 +0000 (20:18 +0000)]
Bugs: missing partial uses and redundant partial defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40688
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 1 Aug 2007 20:07:59 +0000 (20:07 +0000)]
Add a test for the load/store alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40687
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 1 Aug 2007 19:34:21 +0000 (19:34 +0000)]
Expand unaligned loads/stores when the target doesn't support them. (PR1548)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40682
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Wed, 1 Aug 2007 18:48:29 +0000 (18:48 +0000)]
Clean up C++ restrict test cases and add a test for restrict qualified methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40681
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Aug 2007 18:37:44 +0000 (18:37 +0000)]
these tests aren't xfailed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40680
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Aug 2007 17:10:30 +0000 (17:10 +0000)]
we're now handling this right :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40675
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Aug 2007 16:53:51 +0000 (16:53 +0000)]
Forgot to update these files for the FastDSE changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40674
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Aug 2007 15:32:29 +0000 (15:32 +0000)]
More explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40673
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Aug 2007 14:42:30 +0000 (14:42 +0000)]
Change a .size directive to use a tab instead of a space, for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40672
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Aug 2007 14:28:20 +0000 (14:28 +0000)]
Make ImmutablePass::runOnModule non-virtual, since it is not
intended to be overridden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40671
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Aug 2007 06:36:51 +0000 (06:36 +0000)]
Rename FastDSE to just DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Aug 2007 06:30:51 +0000 (06:30 +0000)]
Move FastDSE in to DeadStoreElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40667
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Aug 2007 06:30:10 +0000 (06:30 +0000)]
Remove old DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40666
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 1 Aug 2007 03:59:32 +0000 (03:59 +0000)]
Update generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40663
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Wed, 1 Aug 2007 03:43:44 +0000 (03:43 +0000)]
New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.
Updates to all clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 00:12:08 +0000 (00:12 +0000)]
Indexed loads each has 2 outputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40658
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Aug 2007 00:10:12 +0000 (00:10 +0000)]
Requires SSE2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40657
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 31 Jul 2007 23:27:13 +0000 (23:27 +0000)]
Don't let the memory allocator outsmart GVN. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40655
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 31 Jul 2007 22:37:44 +0000 (22:37 +0000)]
simpleregistercoalescing -> regcoalescing. It's too long for me to handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40654
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 31 Jul 2007 20:18:28 +0000 (20:18 +0000)]
Fix a failure I accidentally caused in my last commit by mishandling the
removal of redundant phis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40650
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Tue, 31 Jul 2007 20:13:21 +0000 (20:13 +0000)]
Fix a bug in GetKnownAlignment of packed structs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40649
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 31 Jul 2007 20:11:57 +0000 (20:11 +0000)]
Change the x86 assembly output to use tab characters to separate the
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40648
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 31 Jul 2007 20:01:27 +0000 (20:01 +0000)]
Fix GLIBCXX_DEBUG error owing to dereference of end iterator. There's
no guarantee that an instruction returned by getDependency exists in
the maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40647
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 31 Jul 2007 17:43:14 +0000 (17:43 +0000)]
Fix a misoptimization in aha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40642
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 31 Jul 2007 17:22:27 +0000 (17:22 +0000)]
Use SCEVExpander::InsertCastOfTo instead of calling new IntToPtrInst
directly, because the insert point used by the SCEVExpander may vary
from what LSR originally computes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40641
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 Jul 2007 16:52:25 +0000 (16:52 +0000)]
Add note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Jul 2007 16:18:25 +0000 (16:18 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40636
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Tue, 31 Jul 2007 16:18:07 +0000 (16:18 +0000)]
Revert overly aggressive interpretation of noalias
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40635
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 14:41:17 +0000 (14:41 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40634
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 14:40:14 +0000 (14:40 +0000)]
fp2uint -> fptoui
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40633
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 14:39:10 +0000 (14:39 +0000)]
After a discussion with Anton, it turns out that the InReg attribute is not
permitted on function results. So, revert the last patch to make it illegal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40632
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 Jul 2007 08:04:17 +0000 (08:04 +0000)]
Bunch of tests to check loop passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40629
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 31 Jul 2007 08:04:03 +0000 (08:04 +0000)]
Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40628
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 Jul 2007 08:03:26 +0000 (08:03 +0000)]
Loop unswitch preserves dom info.
Use simple analysis interface to preserve analysis info maintained by other loop passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40627
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 Jul 2007 08:01:41 +0000 (08:01 +0000)]
Implement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40626
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 31 Jul 2007 08:00:57 +0000 (08:00 +0000)]
Introduce Simple Analysis interface for loop passes.
Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Tue, 31 Jul 2007 07:04:51 +0000 (07:04 +0000)]
Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40624
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Tue, 31 Jul 2007 07:03:24 +0000 (07:03 +0000)]
Un-XFAIL these tests after r40622 fixed them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40623
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 06:37:43 +0000 (06:37 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40621
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 06:37:27 +0000 (06:37 +0000)]
Allow the INREG parameter attribute to be added to functions. This permits the
function result to be passed in a register. This implements the GCC regparm
function attribute for llvm by translation to the InReg parameter attribute
and fixes test/CFrontend/2002-07-30-SubregSetAssertion.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40619
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 06:33:37 +0000 (06:33 +0000)]
The InReg parameter attribute is valid on function results. The llvm-gcc-4.0
front end converts regparm attribute on the gcc function into InReg attribute
on the llvm function. This fixes test/CFrontend/2002-07-30-SubrefSetAssertion.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40618
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 31 Jul 2007 06:21:44 +0000 (06:21 +0000)]
This isn't safe when there are uses of load's chain result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40617
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 31 Jul 2007 06:00:51 +0000 (06:00 +0000)]
Fix PR1581, patch by Timo Savola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40616
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 03:55:56 +0000 (03:55 +0000)]
Regenerate (again).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40613
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 03:55:43 +0000 (03:55 +0000)]
Don't include newlines in the whitespace before newline (WSNL) rule.
Fix the comment for WSNL to describe its actual function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40612
91177308-0d34-0410-b5e6-
96231b3b80d8