oota-llvm.git
16 years agowrap some long lines. Major offenders that are left include
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

16 years agoUpdate dominator info for the middle blocks created while spliting
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

16 years agoMark the SSE and MMX load instructions that
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

16 years agoEnhance instcombine to be more aggressive about folding casts of
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

16 years agoFix bug spotted by Chris.
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

16 years agoAdd extend and extOrTrunc methods that do sign or zero extension depending on whether...
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

16 years agoSwitch some multiplication instructions over to the new scheme for testing.
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

16 years agoDo not emit copies for physical register output if it's not used.
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

16 years agoFix test.
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

16 years agoFix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll
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

16 years agoAdjust for new CallInst constructor interface.
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

16 years agoStyle police: Expand the tabs to spaces!
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

16 years agoTeach BasicAA about noalias parameter attributes, but do it correctly this time.
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

16 years agoInstead of adding copyfromreg's to handle physical definitions. Now isel can
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

16 years agoAdded TargetInstrDescriptor::numDefs - num of results.
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

16 years agoCan't handle offset and scale if rip-relative addressing is to be used.
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

16 years agoMac OS X X86-64 low 4G address not available.
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

16 years agoMac OS X X86-64 low 4G address not available.
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

16 years agoUndo previous check-in.
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

16 years agoSome out operands were incorrectly specified as input operands.
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

16 years agoMake sure these tests pass for the right reasons (verifier error, rather than
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

16 years agoUpdate dominator info for the middle blocks created while spliting
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

16 years agoMake non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.
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

16 years agoMissing Requires.
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

16 years agoNew test. Bogus implicit-def prevented a copy from being coalesced.
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

16 years agoBe more precise.
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

16 years agoBugs: missing partial uses and redundant partial defs.
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

16 years agoAdd a test for the load/store alignment.
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

16 years agoExpand unaligned loads/stores when the target doesn't support them. (PR1548)
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

16 years agoClean up C++ restrict test cases and add a test for restrict qualified methods.
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

16 years agothese tests aren't xfailed.
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

16 years agowe're now handling this right :)
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

16 years agoForgot to update these files for the FastDSE changes.
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

16 years agoMore explicit keywords.
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

16 years agoChange a .size directive to use a tab instead of a space, for consistency.
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

16 years agoMake ImmutablePass::runOnModule non-virtual, since it is not
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

16 years agoRename FastDSE to just DSE.
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

16 years agoMove FastDSE in to DeadStoreElimination.
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

16 years agoRemove old DSE.
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

16 years agoUpdate generated files.
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

16 years agoNew CallInst interface to address GLIBCXX_DEBUG errors caused by
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

16 years agoIndexed loads each has 2 outputs.
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

16 years agoRequires SSE2.
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

16 years agoDon't let the memory allocator outsmart GVN. ;-)
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

16 years agosimpleregistercoalescing -> regcoalescing. It's too long for me to handle.
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

16 years agoFix a failure I accidentally caused in my last commit by mishandling the
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

16 years agoFix a bug in GetKnownAlignment of packed structs.
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

16 years agoChange the x86 assembly output to use tab characters to separate the
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

16 years agoFix GLIBCXX_DEBUG error owing to dereference of end iterator. There's
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

16 years agoFix a misoptimization in aha.
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

16 years agoUse SCEVExpander::InsertCastOfTo instead of calling new IntToPtrInst
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

16 years agoAdd note.
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

16 years agonew testcase
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

16 years agoRevert overly aggressive interpretation of noalias
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

16 years agoRegenerate.
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

16 years agofp2uint -> fptoui
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

16 years agoAfter a discussion with Anton, it turns out that the InReg attribute is not
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

16 years agoBunch of tests to check loop passes.
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

16 years agoRedo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32...
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

16 years agoLoop unswitch preserves dom info.
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

16 years agoImplement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
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

16 years agoIntroduce Simple Analysis interface for loop passes.
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

16 years agoTeach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
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

16 years agoUn-XFAIL these tests after r40622 fixed them.
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

16 years agoRegenerate.
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

16 years agoAllow the INREG parameter attribute to be added to functions. This permits the
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

16 years agoThe InReg parameter attribute is valid on function results. The llvm-gcc-4.0
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

16 years agoThis isn't safe when there are uses of load's chain result.
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

16 years agoFix PR1581, patch by Timo Savola
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

16 years agoRegenerate (again).
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

16 years agoDon't include newlines in the whitespace before newline (WSNL) rule.
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

16 years agoRegenerate.
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

16 years agoFor PR1553:
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

16 years agoIf loop can be unswitched again, then do it yourself.
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

16 years agoAdd a comment: don't expect from external function resolver in interpreter
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

16 years agoAvoid potential iterator invalidation problems.
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

16 years agoRemove dead code.
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

16 years ago- Allow custom lowering for CTPOP, CTTZ, CTLZ.
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

16 years agoLCSSA preserves dom info.
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

16 years agoLoop Rotation pass preserves dominator tree and frontier.
Devang Patel [Mon, 30 Jul 2007 20:22:53 +0000 (20:22 +0000)]
Loop Rotation pass preserves dominator tree and frontier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40603 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLICM preserves scalar evolution and dom frontier.
Devang Patel [Mon, 30 Jul 2007 20:19:59 +0000 (20:19 +0000)]
LICM preserves scalar evolution and dom frontier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40602 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate for __dso_handle, per Anton's request.
Reid Spencer [Mon, 30 Jul 2007 20:13:24 +0000 (20:13 +0000)]
Regenerate for __dso_handle, per Anton's request.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40601 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd detection of __dso_handle presence during configure. Use this information in the
Anton Korobeynikov [Mon, 30 Jul 2007 20:02:02 +0000 (20:02 +0000)]
Add detection of __dso_handle presence during configure. Use this information in the
JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built
binaries, since cxa_atexit is enabled by default on much more targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40600 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a typo/thinko.
Reid Spencer [Mon, 30 Jul 2007 19:53:57 +0000 (19:53 +0000)]
Fix a typo/thinko.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40599 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a bug in getCopyFromParts turned up in the testcase for PR1132.
Dan Gohman [Mon, 30 Jul 2007 19:09:17 +0000 (19:09 +0000)]
Fix a bug in getCopyFromParts turned up in the testcase for PR1132.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40598 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse more caching when computing non-local dependence. This makes bzip2 not
Owen Anderson [Mon, 30 Jul 2007 17:29:24 +0000 (17:29 +0000)]
Use more caching when computing non-local dependence.  This makes bzip2 not
use up the entire 32-bit address space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40596 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a bug caused by indiscriminantly asking for the dominators of a predecessor.
Owen Anderson [Mon, 30 Jul 2007 16:57:08 +0000 (16:57 +0000)]
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40595 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse tabs more consistently in assembler pseudo-ops.
Dan Gohman [Mon, 30 Jul 2007 15:08:02 +0000 (15:08 +0000)]
Use tabs more consistently in assembler pseudo-ops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40594 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPrint a space between the comment character and the basic block name,
Dan Gohman [Mon, 30 Jul 2007 15:06:25 +0000 (15:06 +0000)]
Print a space between the comment character and the basic block name,
for prettiness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40593 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the comments for the 'fast' parameter in addPassesToEmitFile.
Dan Gohman [Mon, 30 Jul 2007 15:04:59 +0000 (15:04 +0000)]
Fix the comments for the 'fast' parameter in addPassesToEmitFile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40592 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove a FIXME comment that wasn't removed when the code it accompanied
Dan Gohman [Mon, 30 Jul 2007 15:01:09 +0000 (15:01 +0000)]
Remove a FIXME comment that wasn't removed when the code it accompanied
was removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40591 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the comment for getClosestTargetForJIT to reflect the fact that
Dan Gohman [Mon, 30 Jul 2007 14:58:59 +0000 (14:58 +0000)]
Fix the comment for getClosestTargetForJIT to reflect the fact that
it does not have a Module parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40590 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMore explicit keywords.
Dan Gohman [Mon, 30 Jul 2007 14:51:59 +0000 (14:51 +0000)]
More explicit keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40589 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix pastos in comments for doFinalization functions.
Dan Gohman [Mon, 30 Jul 2007 14:51:13 +0000 (14:51 +0000)]
Fix pastos in comments for doFinalization functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40588 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNew test case.
Evan Cheng [Mon, 30 Jul 2007 07:52:03 +0000 (07:52 +0000)]
New test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40587 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoVector fneg must be expanded into fsub -0.0, X.
Evan Cheng [Mon, 30 Jul 2007 07:51:22 +0000 (07:51 +0000)]
Vector fneg must be expanded into fsub -0.0, X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40586 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd tests for generating noalias parameter attribute from __restrict qualified functi...
Christopher Lamb [Sun, 29 Jul 2007 23:29:16 +0000 (23:29 +0000)]
Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40583 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBe explicit about which level of optimization is being asked for. The -O option
Reid Spencer [Sun, 29 Jul 2007 18:23:22 +0000 (18:23 +0000)]
Be explicit about which level of optimization is being asked for. The -O option
is equivalent to -O1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40581 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange the x86 backend to use extract_subreg for truncation operations. Passes DejaGn...
Christopher Lamb [Sun, 29 Jul 2007 01:24:57 +0000 (01:24 +0000)]
Change the x86 backend to use extract_subreg for truncation operations. Passes DejaGnu, SingleSource and MultiSource.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40578 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd register info needed to use subreg sets on X86.
Christopher Lamb [Sat, 28 Jul 2007 19:03:30 +0000 (19:03 +0000)]
Add register info needed to use subreg sets on X86.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40572 91177308-0d34-0410-b5e6-96231b3b80d8