oota-llvm.git
16 years agoSome improvements related to the computation of heights, depths of SUnits.
Roman Levenstein [Tue, 4 Mar 2008 11:19:43 +0000 (11:19 +0000)]
Some improvements related to the computation of heights, depths of SUnits.

The basic idea is that all these algorithms are computing the longest paths from the root node or to the exit node. Therefore the existing implementation that uses and iterative and potentially
exponential algorithm was changed to a well-known graph algorithm based on dynamic programming. It has a linear run-time.

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

16 years agoRefactor ExpandConstantFP so it can optimize load from constpool of types larger...
Evan Cheng [Tue, 4 Mar 2008 08:05:30 +0000 (08:05 +0000)]
Refactor ExpandConstantFP so it can optimize load from constpool of types larger than f64 into extload from smaller types.

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

16 years agoReally fix the test.
Evan Cheng [Tue, 4 Mar 2008 08:01:56 +0000 (08:01 +0000)]
Really fix the test.

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

16 years agoFix broken test.
Evan Cheng [Tue, 4 Mar 2008 07:59:13 +0000 (07:59 +0000)]
Fix broken test.

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

16 years ago80 column violations.
Evan Cheng [Tue, 4 Mar 2008 03:20:06 +0000 (03:20 +0000)]
80 column violations.

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

16 years agoFix 80 column violations.
Evan Cheng [Tue, 4 Mar 2008 03:19:19 +0000 (03:19 +0000)]
Fix 80 column violations.

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

16 years agoDid I say 'e = getNumOperands()'? I meant --e, of course.
Bill Wendling [Tue, 4 Mar 2008 00:48:15 +0000 (00:48 +0000)]
Did I say 'e = getNumOperands()'? I meant --e, of course.

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

16 years agoAdd PR1501 test case.
Evan Cheng [Tue, 4 Mar 2008 00:47:45 +0000 (00:47 +0000)]
Add PR1501 test case.

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

16 years agoRename isOperand() to isOperandOf() (and other similar methods). It always confuses me.
Evan Cheng [Tue, 4 Mar 2008 00:41:45 +0000 (00:41 +0000)]
Rename isOperand() to isOperandOf() (and other similar methods). It always confuses me.

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

16 years agoRemove -always-fold-and-in-test.
Evan Cheng [Tue, 4 Mar 2008 00:40:35 +0000 (00:40 +0000)]
Remove -always-fold-and-in-test.

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

16 years agoMiscellaneous clean-ups based on Evan's feedback:
Bill Wendling [Mon, 3 Mar 2008 23:57:28 +0000 (23:57 +0000)]
Miscellaneous clean-ups based on Evan's feedback:

- Cleaned up how the prologue-epilogue inserter loops over the instructions.
- Instead of restarting the processing of an instruction if we remove an
  implicit kill, just update the end iterator and make sure that the iterator
  isn't incremented.

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

16 years agoMisc. APInt-ification in the DAGCombiner.
Dan Gohman [Mon, 3 Mar 2008 23:51:38 +0000 (23:51 +0000)]
Misc. APInt-ification in the DAGCombiner.

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

16 years agoMore APInt-ification.
Dan Gohman [Mon, 3 Mar 2008 23:35:36 +0000 (23:35 +0000)]
More APInt-ification.

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

16 years agoYet more APInt-ification.
Dan Gohman [Mon, 3 Mar 2008 22:37:52 +0000 (22:37 +0000)]
Yet more APInt-ification.

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

16 years agoMore APInt-ification.
Dan Gohman [Mon, 3 Mar 2008 22:22:56 +0000 (22:22 +0000)]
More APInt-ification.

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

16 years agoAdd support for lowering i64 SRA_PARTS and friends on x86-64.
Dan Gohman [Mon, 3 Mar 2008 22:22:09 +0000 (22:22 +0000)]
Add support for lowering i64 SRA_PARTS and friends on x86-64.

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

16 years agoMore APInt-ification.
Dan Gohman [Mon, 3 Mar 2008 22:20:46 +0000 (22:20 +0000)]
More APInt-ification.

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

16 years agoThis is the initial check-in for adding register scavenging to PPC. (Currently,
Bill Wendling [Mon, 3 Mar 2008 22:19:16 +0000 (22:19 +0000)]
This is the initial check-in for adding register scavenging to PPC. (Currently,
PPC-64 doesn't work.) This also lowers the spilling of the CR registers so that
it uses a register other than the default R0 register (the scavenger scrounges
for one). A significant part of this patch fixes how kill information is
handled.

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

16 years agoGo through the machine instruction's operands to make sure that we're not
Bill Wendling [Mon, 3 Mar 2008 22:14:33 +0000 (22:14 +0000)]
Go through the machine instruction's operands to make sure that we're not
marking both a super- and sub-register as "killed". This removes implicit uses
that are marked as "killed".

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

16 years agoMake the register scavenger update the bookkeeping values for sub/super
Bill Wendling [Mon, 3 Mar 2008 22:12:25 +0000 (22:12 +0000)]
Make the register scavenger update the bookkeeping values for sub/super
registers.

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

16 years agoMultiple instructions can be inserted when eliminating frame indexes. We need
Bill Wendling [Mon, 3 Mar 2008 22:11:16 +0000 (22:11 +0000)]
Multiple instructions can be inserted when eliminating frame indexes. We need
the register scavenger to process all of those new instructions instead of just
the last one inserted.

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

16 years agonew testcase
Chris Lattner [Mon, 3 Mar 2008 21:59:00 +0000 (21:59 +0000)]
new testcase

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

16 years agos/isReturnStruct()/hasStructRetAttr()/g
Devang Patel [Mon, 3 Mar 2008 21:46:28 +0000 (21:46 +0000)]
s/isReturnStruct()/hasStructRetAttr()/g

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

16 years agoregenerate.
Devang Patel [Mon, 3 Mar 2008 18:58:47 +0000 (18:58 +0000)]
regenerate.

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

16 years agoIf a function uses multive values in ret instruction then it
Devang Patel [Mon, 3 Mar 2008 18:58:16 +0000 (18:58 +0000)]
If a function uses multive values in ret instruction then it
is returning a struct value.

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

16 years agoPreserve paramater attributes.
Devang Patel [Mon, 3 Mar 2008 18:36:03 +0000 (18:36 +0000)]
Preserve paramater attributes.

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

16 years agoRenable lto2 build.
Tanya Lattner [Mon, 3 Mar 2008 17:32:40 +0000 (17:32 +0000)]
Renable lto2 build.

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

16 years agoStub out a Path::GetMainExecutable call to find the path to the
Chris Lattner [Mon, 3 Mar 2008 02:55:43 +0000 (02:55 +0000)]
Stub out a Path::GetMainExecutable call to find the path to the
main executable of a program.  This needs to be implemented on windows.

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

16 years agoanother random note
Chris Lattner [Sun, 2 Mar 2008 19:29:42 +0000 (19:29 +0000)]
another random note

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

16 years agoadd a note
Chris Lattner [Sun, 2 Mar 2008 19:27:34 +0000 (19:27 +0000)]
add a note

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

16 years agoEvan implemented these.
Chris Lattner [Sun, 2 Mar 2008 18:05:14 +0000 (18:05 +0000)]
Evan implemented these.

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

16 years agoEvan implemented this.
Chris Lattner [Sun, 2 Mar 2008 17:56:29 +0000 (17:56 +0000)]
Evan implemented this.

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

16 years agoadd a testcase for misc vector stuff
Chris Lattner [Sun, 2 Mar 2008 08:57:59 +0000 (08:57 +0000)]
add a testcase for misc vector stuff

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

16 years agoadd support for lvsl, fixing PR1481
Chris Lattner [Sun, 2 Mar 2008 08:54:27 +0000 (08:54 +0000)]
add support for lvsl, fixing PR1481

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

16 years agoadd support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.
Chris Lattner [Sun, 2 Mar 2008 08:47:13 +0000 (08:47 +0000)]
add support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.

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

16 years agorefactor intrinsic handling code out into its own method.
Chris Lattner [Sun, 2 Mar 2008 08:29:41 +0000 (08:29 +0000)]
refactor intrinsic handling code out into its own method.

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

16 years agofix printing of undef vectors, this fixes "simple" and "build" in UnitTests/Vector.
Chris Lattner [Sun, 2 Mar 2008 08:14:45 +0000 (08:14 +0000)]
fix printing of undef vectors, this fixes "simple" and "build" in UnitTests/Vector.
Now they all pass.

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

16 years agoinsertelement got the wrong operands.
Chris Lattner [Sun, 2 Mar 2008 08:10:16 +0000 (08:10 +0000)]
insertelement got the wrong operands.

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

16 years agoSeveral changes:
Chris Lattner [Sun, 2 Mar 2008 08:07:24 +0000 (08:07 +0000)]
Several changes:
  * Simplify handling of byval, making it easier to understand and more
    consistent.  This fixes PR2065.
  * Clean up and simplify handling of GEPs.  I can actually understand it now!
  * Implement support for GEP'ing into vectors, this fixes
    SingleSource/UnitTests/Vector/build2 among others.

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

16 years agosuppress extra -install_name on Tiger. The 10.4 tools don't support it. Fix whitespace.
Nick Kledzik [Sun, 2 Mar 2008 06:33:06 +0000 (06:33 +0000)]
suppress extra -install_name on Tiger.  The 10.4 tools don't support it.  Fix whitespace.

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

16 years agoFix a bug I introduced in constant array and constant vector handling.
Chris Lattner [Sun, 2 Mar 2008 05:46:57 +0000 (05:46 +0000)]
Fix a bug I introduced in constant array and constant vector handling.

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

16 years agoimplement shufflevector.
Chris Lattner [Sun, 2 Mar 2008 05:41:07 +0000 (05:41 +0000)]
implement shufflevector.

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

16 years agomake operand accessors const-correct
Chris Lattner [Sun, 2 Mar 2008 05:32:05 +0000 (05:32 +0000)]
make operand accessors const-correct

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

16 years agoAdd a new ShuffleVectorInst::getMaskValue method.
Chris Lattner [Sun, 2 Mar 2008 05:28:33 +0000 (05:28 +0000)]
Add a new ShuffleVectorInst::getMaskValue method.

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

16 years agoimplement extractelement.
Chris Lattner [Sun, 2 Mar 2008 03:57:08 +0000 (03:57 +0000)]
implement extractelement.

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

16 years agoimplement insertelement.
Chris Lattner [Sun, 2 Mar 2008 03:52:39 +0000 (03:52 +0000)]
implement insertelement.

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

16 years agorespect isSigned for vector types, fixing sdiv of vectors etc.
Chris Lattner [Sun, 2 Mar 2008 03:41:23 +0000 (03:41 +0000)]
respect isSigned for vector types, fixing sdiv of vectors etc.

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

16 years agoprint the attribute in the right place, this fixes function returning vectors.
Chris Lattner [Sun, 2 Mar 2008 03:39:43 +0000 (03:39 +0000)]
print the attribute in the right place, this fixes function returning vectors.

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

16 years agoOops, can't unwind to the entry block (entry block may have no preds).
Nick Lewycky [Sun, 2 Mar 2008 03:34:55 +0000 (03:34 +0000)]
Oops, can't unwind to the entry block (entry block may have no preds).

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

16 years agovector types are simple types. This fixes div/rem of vectors.
Chris Lattner [Sun, 2 Mar 2008 03:33:31 +0000 (03:33 +0000)]
vector types are simple types.  This fixes div/rem of vectors.

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

16 years agoPrint vector types appropriately. This gets basic vector code working
Chris Lattner [Sun, 2 Mar 2008 03:29:50 +0000 (03:29 +0000)]
Print vector types appropriately.  This gets basic vector code working
(PR1126)

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

16 years agorename PT -> VT for VectorTypes.
Chris Lattner [Sun, 2 Mar 2008 03:18:46 +0000 (03:18 +0000)]
rename PT -> VT for VectorTypes.

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

16 years agoPrint i32/i64 integer constants as 1u instead of ((unsigned int)1).
Chris Lattner [Sun, 2 Mar 2008 03:16:38 +0000 (03:16 +0000)]
Print i32/i64 integer constants as 1u instead of ((unsigned int)1).
Use dyn_cast better.

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

16 years agoMove pr717 to here.
Chris Lattner [Sun, 2 Mar 2008 02:51:40 +0000 (02:51 +0000)]
Move pr717 to here.

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

16 years agoAdd an unwind_to field to basic blocks, making them Users instead of Values.
Nick Lewycky [Sun, 2 Mar 2008 02:48:09 +0000 (02:48 +0000)]
Add an unwind_to field to basic blocks, making them Users instead of Values.
This is the first checkin for PR1269, the new EH infrastructure.

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

16 years agogood catch anton
Andrew Lenharth [Sat, 1 Mar 2008 23:18:21 +0000 (23:18 +0000)]
good catch anton

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

16 years agomake CAS work
Andrew Lenharth [Sat, 1 Mar 2008 22:27:48 +0000 (22:27 +0000)]
make CAS work

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

16 years agoall but CAS working on x86
Andrew Lenharth [Sat, 1 Mar 2008 21:52:34 +0000 (21:52 +0000)]
all but CAS working on x86

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

16 years agoAlso handle "getresult".
Nick Lewycky [Sat, 1 Mar 2008 21:47:06 +0000 (21:47 +0000)]
Also handle "getresult".

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

16 years agoPrint the name, not a pointer.
Nick Lewycky [Sat, 1 Mar 2008 17:20:55 +0000 (17:20 +0000)]
Print the name, not a pointer.

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

16 years agoAdd lock prefix support to x86. Also add the instructions necessary for the atomic...
Andrew Lenharth [Sat, 1 Mar 2008 13:37:02 +0000 (13:37 +0000)]
Add lock prefix support to x86.  Also add the instructions necessary for the atomic ops.  They are still marked pseudo, since I cannot figure out what format to use, but they are the correct opcode.

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

16 years agoRemove llvm-upgrade and update test cases.
Tanya Lattner [Sat, 1 Mar 2008 09:15:35 +0000 (09:15 +0000)]
Remove llvm-upgrade and update test cases.

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

16 years agoFix PR2113 by verifying allocations.
Chris Lattner [Sat, 1 Mar 2008 09:01:57 +0000 (09:01 +0000)]
Fix PR2113 by verifying allocations.

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

16 years agoFix this test.
Chris Lattner [Sat, 1 Mar 2008 09:00:21 +0000 (09:00 +0000)]
Fix this test.

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

16 years agoallow specified inline threshold to be negative, as the value is
Chris Lattner [Sat, 1 Mar 2008 08:09:51 +0000 (08:09 +0000)]
allow specified inline threshold to be negative, as the value is
itself sometimes negative.

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

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Sat, 1 Mar 2008 07:38:40 +0000 (07:38 +0000)]
Remove llvm-upgrade and update tests.

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

16 years agoDisable lto because its broken on tiger.
Tanya Lattner [Sat, 1 Mar 2008 07:36:30 +0000 (07:36 +0000)]
Disable lto because its broken on tiger.

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

16 years agoAdd MVT::is128BitVector and is64BitVector. Shrink
Dale Johannesen [Sat, 1 Mar 2008 03:40:57 +0000 (03:40 +0000)]
Add MVT::is128BitVector and is64BitVector.  Shrink
unaligned load/store code using them.  Per review
of unaligned load/store vector patch.

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

16 years agoRefactor / clean up code; remove td list scheduler special tie breaker (no real benefit).
Evan Cheng [Sat, 1 Mar 2008 00:39:47 +0000 (00:39 +0000)]
Refactor / clean up code; remove td list scheduler special tie breaker (no real benefit).

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

16 years agoFix cut-n-pasto.
Devang Patel [Fri, 29 Feb 2008 23:41:13 +0000 (23:41 +0000)]
Fix cut-n-pasto.

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

16 years agoAdd pass to promote sret.
Devang Patel [Fri, 29 Feb 2008 23:34:08 +0000 (23:34 +0000)]
Add pass to promote sret.
This pass transforms

  %struct._Point = type { i32, i32, i32, i32, i32, i32 }
  define internal void @foo(%struct._Point* sret  %agg.result)

into

  %struct._Point = type { i32, i32, i32, i32, i32, i32 }
  define internal %struct._Point @foo()

This pass updates foo() clients appropriately to use
getresult instruction to extract return values.

This pass is not yet ready for prime time.

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

16 years agoUse enumeration for preffered EH dwarf encoding reason
Anton Korobeynikov [Fri, 29 Feb 2008 22:09:08 +0000 (22:09 +0000)]
Use enumeration for preffered EH dwarf encoding reason

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

16 years agoDon't fill eh frames even though these are text sections.
Evan Cheng [Fri, 29 Feb 2008 19:36:59 +0000 (19:36 +0000)]
Don't fill eh frames even though these are text sections.

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

16 years agoupdate to document new lto API
Nick Kledzik [Fri, 29 Feb 2008 19:34:52 +0000 (19:34 +0000)]
update to document new lto API

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

16 years agoinstall new lto dylib. pass down LLVM_SUBMIT_VERSION
Nick Kledzik [Fri, 29 Feb 2008 19:32:13 +0000 (19:32 +0000)]
install new lto dylib.  pass down LLVM_SUBMIT_VERSION

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

16 years agostop building lto on all platforms. Start building lto2 on Darwin
Nick Kledzik [Fri, 29 Feb 2008 19:31:29 +0000 (19:31 +0000)]
stop building lto on all platforms.  Start building lto2 on Darwin

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

16 years agofix default RC_ProjectSourceSubversion to be zero
Nick Kledzik [Fri, 29 Feb 2008 19:30:23 +0000 (19:30 +0000)]
fix default RC_ProjectSourceSubversion to be zero

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

16 years agoDCE'ed this testcase.
Bill Wendling [Fri, 29 Feb 2008 19:28:11 +0000 (19:28 +0000)]
DCE'ed this testcase.

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

16 years agoIf we reload a virtual register that's already been assigned, we want to mark
Bill Wendling [Fri, 29 Feb 2008 18:52:01 +0000 (18:52 +0000)]
If we reload a virtual register that's already been assigned, we want to mark
that instruction as its "last use". This fixes PR1925.

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

16 years agoFix PR2112: don't run loop aligner if target doesn't have a TargetLowering object.
Evan Cheng [Fri, 29 Feb 2008 17:52:15 +0000 (17:52 +0000)]
Fix PR2112: don't run loop aligner if target doesn't have a TargetLowering object.

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

16 years agofix a bug Anders ran into where scalarrepl would crash when promoting
Chris Lattner [Fri, 29 Feb 2008 07:12:06 +0000 (07:12 +0000)]
fix a bug Anders ran into where scalarrepl would crash when promoting
a union containing a vector and an array whose elements were smaller than
the vector elements.  this means we need to compile the load of the
array elements into an extract element plus a truncate.

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

16 years agoRefactor some code out of ConvertUsesToScalar into their own methods, no
Chris Lattner [Fri, 29 Feb 2008 07:03:13 +0000 (07:03 +0000)]
Refactor some code out of ConvertUsesToScalar into their own methods, no
functionality change.

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

16 years agoFolding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type.
Chris Lattner [Fri, 29 Feb 2008 06:09:11 +0000 (06:09 +0000)]
Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type.

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

16 years agoNo need for coalescer to update kills. Only copies are coalesced and those instructio...
Evan Cheng [Fri, 29 Feb 2008 02:50:03 +0000 (02:50 +0000)]
No need for coalescer to update kills. Only copies are coalesced and those instructions will be deleted. Doh.

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

16 years agoRemove redundant #include.
Evan Cheng [Fri, 29 Feb 2008 02:49:15 +0000 (02:49 +0000)]
Remove redundant #include.

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

16 years agoalso pass -compatibility_version when linking shared object for Darwin
Nick Kledzik [Fri, 29 Feb 2008 02:01:34 +0000 (02:01 +0000)]
also pass -compatibility_version when linking shared object for Darwin

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

16 years agoMore APInt-ification.
Dan Gohman [Fri, 29 Feb 2008 01:47:35 +0000 (01:47 +0000)]
More APInt-ification.

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

16 years agoUse the new convertFromAPInt instead of convertFromZeroExtendedInteger,
Dan Gohman [Fri, 29 Feb 2008 01:44:25 +0000 (01:44 +0000)]
Use the new convertFromAPInt instead of convertFromZeroExtendedInteger,
which allows more of the surrounding arithmetic to be done with APInt
instead of uint64_t.

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

16 years agoUse the new convertFromAPInt instead of convertFromZeroExtendedInteger.
Dan Gohman [Fri, 29 Feb 2008 01:42:52 +0000 (01:42 +0000)]
Use the new convertFromAPInt instead of convertFromZeroExtendedInteger.

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

16 years agoUse the new APInt-enabled form of getConstant instead of converting
Dan Gohman [Fri, 29 Feb 2008 01:41:59 +0000 (01:41 +0000)]
Use the new APInt-enabled form of getConstant instead of converting
an APInt into a uint64_t to call getConstant.

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

16 years agoAdd support to APInt for shift and rotate operations with APInt
Dan Gohman [Fri, 29 Feb 2008 01:40:47 +0000 (01:40 +0000)]
Add support to APInt for shift and rotate operations with APInt
instead of uint32_t for the shift/rotate count operand type.

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

16 years agoUse the correct instruction encodings for the 64-bit MMX movd.
Anders Carlsson [Fri, 29 Feb 2008 01:35:12 +0000 (01:35 +0000)]
Use the correct instruction encodings for the 64-bit MMX movd.

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

16 years agoSimplify code using convertFromZeroExtendedInteger with an APInt
Dan Gohman [Fri, 29 Feb 2008 01:27:13 +0000 (01:27 +0000)]
Simplify code using convertFromZeroExtendedInteger with an APInt
by using the new convertFromAPInt directly.

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

16 years agoAdd a method to APFloat to convert directly from APInt.
Dan Gohman [Fri, 29 Feb 2008 01:26:11 +0000 (01:26 +0000)]
Add a method to APFloat to convert directly from APInt.

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

16 years agoAdded option -align-loops=<true/false> to disable loop aligner pass.
Evan Cheng [Thu, 28 Feb 2008 23:29:57 +0000 (23:29 +0000)]
Added option -align-loops=<true/false> to disable loop aligner pass.

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

16 years agoUpdate testcase.
Lauro Ramos Venancio [Thu, 28 Feb 2008 23:13:15 +0000 (23:13 +0000)]
Update testcase.

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

16 years agoInterface of getByValTypeAlignment differed between
Dale Johannesen [Thu, 28 Feb 2008 22:31:51 +0000 (22:31 +0000)]
Interface of getByValTypeAlignment differed between
generic & x86 versions; change generic to follow x86
and improve comments.  Add PPC version (not right
for non-Darwin.)

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

16 years agoMake llvm-ar behave like ar, if you create an empty archive, ar creates an empty...
Andrew Lenharth [Thu, 28 Feb 2008 22:24:48 +0000 (22:24 +0000)]
Make llvm-ar behave like ar, if you create an empty archive, ar creates an empty archive.  llvm-ar would not generate an output file in this case

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

16 years agoInitialize TextAlignFillValue. Fix revision 47703.
Lauro Ramos Venancio [Thu, 28 Feb 2008 22:14:09 +0000 (22:14 +0000)]
Initialize TextAlignFillValue. Fix revision 47703.

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

16 years agoAvoid collisions in value names.
Lauro Ramos Venancio [Thu, 28 Feb 2008 20:26:04 +0000 (20:26 +0000)]
Avoid collisions in value names.

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