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
Reid Spencer [Tue, 31 Jul 2007 03:50:36 +0000 (03:50 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40611
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 31 Jul 2007 02:57:37 +0000 (02:57 +0000)]
For PR1553:
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the
end-of-line ambiguity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40610
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jul 2007 23:07:10 +0000 (23:07 +0000)]
If loop can be unswitched again, then do it yourself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40609
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 30 Jul 2007 23:03:25 +0000 (23:03 +0000)]
Add a comment: don't expect from external function resolver in interpreter
things, it wasn't designed to handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40608
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 30 Jul 2007 21:26:39 +0000 (21:26 +0000)]
Avoid potential iterator invalidation problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40607
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jul 2007 21:10:44 +0000 (21:10 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40606
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Mon, 30 Jul 2007 21:00:31 +0000 (21:00 +0000)]
- Allow custom lowering for CTPOP, CTTZ, CTLZ.
- Fixed an existing unexpanded tab.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40605
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 30 Jul 2007 20:23:45 +0000 (20:23 +0000)]
LCSSA preserves dom info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40604
91177308-0d34-0410-b5e6-
96231b3b80d8