oota-llvm.git
18 years agoFor PR521:
Reid Spencer [Tue, 10 Jan 2006 03:14:40 +0000 (03:14 +0000)]
For PR521:
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.

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

18 years agoBe a little more explanatory in a comment.
Reid Spencer [Tue, 10 Jan 2006 03:12:29 +0000 (03:12 +0000)]
Be a little more explanatory in a comment.

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

18 years agoRemove a comment that no longer applies.
Nate Begeman [Tue, 10 Jan 2006 00:15:59 +0000 (00:15 +0000)]
Remove a comment that no longer applies.

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

18 years agoGive PPCISD:: nodes legible names in dumps.
Chris Lattner [Mon, 9 Jan 2006 23:52:17 +0000 (23:52 +0000)]
Give PPCISD:: nodes legible names in dumps.

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

18 years agoFix an exponential function in libcall insertion to not be exponential. :)
Chris Lattner [Mon, 9 Jan 2006 23:21:49 +0000 (23:21 +0000)]
Fix an exponential function in libcall insertion to not be exponential. :)

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

18 years agoadd ret void support back
Chris Lattner [Mon, 9 Jan 2006 23:20:37 +0000 (23:20 +0000)]
add ret void support back

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

18 years ago* Added undef patterns.
Evan Cheng [Mon, 9 Jan 2006 23:10:28 +0000 (23:10 +0000)]
* Added undef patterns.
* Some reorg.

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

18 years agoMore typos
Evan Cheng [Mon, 9 Jan 2006 22:29:54 +0000 (22:29 +0000)]
More typos

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

18 years agotypo
Evan Cheng [Mon, 9 Jan 2006 20:49:21 +0000 (20:49 +0000)]
typo

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

18 years agoproper branch not equal sequence
Andrew Lenharth [Mon, 9 Jan 2006 19:49:58 +0000 (19:49 +0000)]
proper branch not equal sequence

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

18 years agoSupport for ADD_PARTS, SUB_PARTS, SHL_PARTS, SHR_PARTS, and SRA_PARTS.
Evan Cheng [Mon, 9 Jan 2006 18:33:28 +0000 (18:33 +0000)]
Support for ADD_PARTS, SUB_PARTS, SHL_PARTS, SHR_PARTS, and SRA_PARTS.

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

18 years ago* Allow custom lowering of ADD_PARTS, SUB_PARTS, SHL_PARTS, SRA_PARTS,
Evan Cheng [Mon, 9 Jan 2006 18:31:59 +0000 (18:31 +0000)]
* Allow custom lowering of ADD_PARTS, SUB_PARTS, SHL_PARTS, SRA_PARTS,
and SRL_PARTS.
* Fix a bug that caused *_PARTS to be custom lowered twice.

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

18 years agoNew getNode() variants.
Evan Cheng [Mon, 9 Jan 2006 18:29:18 +0000 (18:29 +0000)]
New getNode() variants.

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

18 years agoNew DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace
Evan Cheng [Mon, 9 Jan 2006 18:28:21 +0000 (18:28 +0000)]
New DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace
hasInFlag, hasOutFlag.

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

18 years ago* Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and
Evan Cheng [Mon, 9 Jan 2006 18:27:06 +0000 (18:27 +0000)]
* Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and
SNDPOutFlag to DAG nodes. These properties do not belong to target specific
instructions.
* Added DAG node property SNDPOptInFlag. It's same as SNDPInFlag except it's
optional. Used by ret / call, etc.

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

18 years agoTeach loopsimplify to update et-forest. Patch contributed by Daniel Berlin!
Chris Lattner [Mon, 9 Jan 2006 08:03:08 +0000 (08:03 +0000)]
Teach loopsimplify to update et-forest.  Patch contributed by Daniel Berlin!

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

18 years agoBugfix for etforest updating. Contributed by Daniel Berlin.
Chris Lattner [Mon, 9 Jan 2006 07:58:01 +0000 (07:58 +0000)]
Bugfix for etforest updating.  Contributed by Daniel Berlin.

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

18 years agoSaem Ghani's PassManager Patch #8:
Reid Spencer [Sun, 8 Jan 2006 22:57:07 +0000 (22:57 +0000)]
Saem Ghani's PassManager Patch #8:
This fixes a "gccass" regression. The -debug-pass=Structure option now
prints all the appropriate output

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

18 years agoAdd some documentation.
Reid Spencer [Sun, 8 Jan 2006 22:41:22 +0000 (22:41 +0000)]
Add some documentation.

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

18 years agoFix line length of a comment.
Reid Spencer [Sun, 8 Jan 2006 22:40:10 +0000 (22:40 +0000)]
Fix line length of a comment.

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

18 years agoVisual Studio hates being left out.
Jeff Cohen [Sun, 8 Jan 2006 18:29:44 +0000 (18:29 +0000)]
Visual Studio hates being left out.

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

18 years agoFix the build on platforms where <cassert> doesn't define NULL
Chris Lattner [Sun, 8 Jan 2006 09:10:46 +0000 (09:10 +0000)]
Fix the build on platforms where <cassert> doesn't define NULL

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

18 years agoFix a problem exposed by the et-forest work. Load-vn needs these passes live
Chris Lattner [Sun, 8 Jan 2006 09:10:04 +0000 (09:10 +0000)]
Fix a problem exposed by the et-forest work.  Load-vn needs these passes live
whenever it is live, not just when load-vn is computed initially

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

18 years agoAdd an entry
Chris Lattner [Sun, 8 Jan 2006 08:25:38 +0000 (08:25 +0000)]
Add an entry

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

18 years agoInitial implementation of the ET-Forest data structure for dominators and
Chris Lattner [Sun, 8 Jan 2006 08:22:18 +0000 (08:22 +0000)]
Initial implementation of the ET-Forest data structure for dominators and
post-dominators.  This code was written/adapted by Daniel Berlin!

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

18 years agoFix out of date comments, patch by Marco Matthies.
Chris Lattner [Sun, 8 Jan 2006 02:32:52 +0000 (02:32 +0000)]
Fix out of date comments, patch by Marco Matthies.

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

18 years agoPatch #7 from Saem:
Chris Lattner [Sat, 7 Jan 2006 23:16:58 +0000 (23:16 +0000)]
Patch #7 from Saem:

"added the asserts and casts, fixed the comments and started the break
down of the larger methods.  A few more patches and the breakdown
should be complete."

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

18 years agoFix the PPC JIT failures last night, which were due to mishandling of linkonce globals
Chris Lattner [Sat, 7 Jan 2006 06:22:16 +0000 (06:22 +0000)]
Fix the PPC JIT failures last night, which were due to mishandling of linkonce globals

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

18 years agoWrap long lines.
Chris Lattner [Sat, 7 Jan 2006 06:20:51 +0000 (06:20 +0000)]
Wrap long lines.

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

18 years agowrap long line
Chris Lattner [Sat, 7 Jan 2006 06:12:07 +0000 (06:12 +0000)]
wrap long line

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

18 years agoModify this test to not depend on the host math.h implementation
Chris Lattner [Sat, 7 Jan 2006 01:37:25 +0000 (01:37 +0000)]
Modify this test to not depend on the host math.h implementation

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

18 years agofix some 176.gcc miscompilation from my previous patch.
Chris Lattner [Sat, 7 Jan 2006 01:32:28 +0000 (01:32 +0000)]
fix some 176.gcc miscompilation from my previous patch.

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

18 years ago* Added integer div / rem.
Evan Cheng [Fri, 6 Jan 2006 23:19:29 +0000 (23:19 +0000)]
* Added integer div / rem.
* Fixed a load folding bug.

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

18 years agoFixed Makefile so it does, indeed, build a dynamic library.
Robert Bocchino [Fri, 6 Jan 2006 22:51:19 +0000 (22:51 +0000)]
Fixed Makefile so it does, indeed, build a dynamic library.

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

18 years agoFixed a typo; "= 1" was missing.
Robert Bocchino [Fri, 6 Jan 2006 22:49:23 +0000 (22:49 +0000)]
Fixed a typo; "= 1" was missing.

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

18 years agoPattern complexity calculation fix.
Evan Cheng [Fri, 6 Jan 2006 22:19:44 +0000 (22:19 +0000)]
Pattern complexity calculation fix.

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

18 years agoISEL code for MULHU, MULHS, and UNDEF.
Evan Cheng [Fri, 6 Jan 2006 20:36:21 +0000 (20:36 +0000)]
ISEL code for MULHU, MULHS, and UNDEF.

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

18 years agomake 0 codegen much better
Andrew Lenharth [Fri, 6 Jan 2006 19:41:51 +0000 (19:41 +0000)]
make 0 codegen much better

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

18 years agosilence some bogus gcc warnings on fenris
Chris Lattner [Fri, 6 Jan 2006 17:59:59 +0000 (17:59 +0000)]
silence some bogus gcc warnings on fenris

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

18 years agosilence a bogus gcc warning
Chris Lattner [Fri, 6 Jan 2006 17:56:38 +0000 (17:56 +0000)]
silence a bogus gcc warning

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

18 years agoEnhance the shift-shift folding code to allow a no-op cast to occur in between
Chris Lattner [Fri, 6 Jan 2006 07:52:12 +0000 (07:52 +0000)]
Enhance the shift-shift folding code to allow a no-op cast to occur in between
the shifts.

This allows us to fold this (which is the 'integer add a constant' sequence
from cozmic's scheme compmiler):

int %x(uint %anf-temporary776) {
        %anf-temporary777 = shr uint %anf-temporary776, ubyte 1
        %anf-temporary800 = cast uint %anf-temporary777 to int
        %anf-temporary804 = shl int %anf-temporary800, ubyte 1
        %anf-temporary805 = add int %anf-temporary804, -2
        %anf-temporary806 = or int %anf-temporary805, 1
        ret int %anf-temporary806
}

into this:

int %x(uint %anf-temporary776) {
        %anf-temporary776 = cast uint %anf-temporary776 to int
        %anf-temporary776.mask1 = add int %anf-temporary776, -2
        %anf-temporary805 = or int %anf-temporary776.mask1, 1
        ret int %anf-temporary805
}

note that instcombine already knew how to eliminate the AND that the two
shifts fold into.  This is tested by InstCombine/shift.ll:test26

-Chris

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

18 years agoA case that instcombine is not catching.
Chris Lattner [Fri, 6 Jan 2006 07:48:28 +0000 (07:48 +0000)]
A case that instcombine is not catching.

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

18 years agoSimplify the code a bit more
Chris Lattner [Fri, 6 Jan 2006 07:22:22 +0000 (07:22 +0000)]
Simplify the code a bit more

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

18 years agoExtract a bunch of code out of visitShiftInst into FoldShiftByConstant. No
Chris Lattner [Fri, 6 Jan 2006 07:12:35 +0000 (07:12 +0000)]
Extract a bunch of code out of visitShiftInst into FoldShiftByConstant.  No
functionality changes.

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

18 years agoUnbreak the build :(
Chris Lattner [Fri, 6 Jan 2006 05:47:48 +0000 (05:47 +0000)]
Unbreak the build :(

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

18 years agoAddd (shl x, 1) ==> (shl x, x) peepholes.
Evan Cheng [Fri, 6 Jan 2006 02:31:59 +0000 (02:31 +0000)]
Addd (shl x, 1) ==> (shl x, x) peepholes.

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

18 years agoTweak pattern complexity calc.
Evan Cheng [Fri, 6 Jan 2006 02:30:23 +0000 (02:30 +0000)]
Tweak pattern complexity calc.

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

18 years agoRevert the previous check-in. Leave shl x, 1 along for target to deal with.
Evan Cheng [Fri, 6 Jan 2006 01:56:02 +0000 (01:56 +0000)]
Revert the previous check-in. Leave shl x, 1 along for target to deal with.

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

18 years agofold (shl x, 1) -> (add x, x)
Evan Cheng [Fri, 6 Jan 2006 01:06:31 +0000 (01:06 +0000)]
fold (shl x, 1) -> (add x, x)

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

18 years agolinkonce symbols have an extra indirection, just like weak ones do. This fixes
Chris Lattner [Fri, 6 Jan 2006 01:04:03 +0000 (01:04 +0000)]
linkonce symbols have an extra indirection, just like weak ones do.  This fixes
Prolangs-C++/family and Prolangs-C++/primes.

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

18 years ago* Fast call support.
Evan Cheng [Fri, 6 Jan 2006 00:43:03 +0000 (00:43 +0000)]
* Fast call support.
* FP cmp, setcc, etc.

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

18 years agoSupport for custom lowering of ISD::RET.
Evan Cheng [Fri, 6 Jan 2006 00:41:43 +0000 (00:41 +0000)]
Support for custom lowering of ISD::RET.

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

18 years agoBug fix wrt chain operand.
Evan Cheng [Fri, 6 Jan 2006 00:41:12 +0000 (00:41 +0000)]
Bug fix wrt chain operand.

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

18 years agoFix a compile crash building MultiSource/Applications/d with the new front-end.
Chris Lattner [Thu, 5 Jan 2006 18:32:49 +0000 (18:32 +0000)]
Fix a compile crash building MultiSource/Applications/d with the new front-end.
The PPC backend was generating random shift counts in this case, due to an
uninitialized variable.

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

18 years agoAdded the spec for the new "extractelement" instruction.
Robert Bocchino [Thu, 5 Jan 2006 17:37:02 +0000 (17:37 +0000)]
Added the spec for the new "extractelement" instruction.

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

18 years agoImplement a few symbolic constant folding things. X ? Y : Y is Y.
Chris Lattner [Thu, 5 Jan 2006 07:49:30 +0000 (07:49 +0000)]
Implement a few symbolic constant folding things.  X ? Y : Y is Y.

Fold:
seteq ({ short }* cast (int 1 to { short }*), { short }* null)
setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*))

to false/true.  These last two commonly occur in the output of compilers that
tag integers, like cozmic's scheme compiler.

Tested by Regression/Assembler/ConstantExprFold.llx

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

18 years agonew tests, derived from cosmics scheme output
Chris Lattner [Thu, 5 Jan 2006 07:46:46 +0000 (07:46 +0000)]
new tests, derived from cosmics scheme output

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

18 years agofix some formatting problems
Chris Lattner [Thu, 5 Jan 2006 07:19:51 +0000 (07:19 +0000)]
fix some formatting problems

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

18 years agounbreak the build, these are now in TargetSelectionDAG.td
Chris Lattner [Thu, 5 Jan 2006 04:48:15 +0000 (04:48 +0000)]
unbreak the build, these are now in TargetSelectionDAG.td

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

18 years agoAdded ConstantFP patterns.
Evan Cheng [Thu, 5 Jan 2006 02:08:37 +0000 (02:08 +0000)]
Added ConstantFP patterns.

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

18 years agoAdded fpimm node for ConstantFP.
Evan Cheng [Thu, 5 Jan 2006 02:07:49 +0000 (02:07 +0000)]
Added fpimm node for ConstantFP.

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

18 years agoGrammer correction.
Jim Laskey [Thu, 5 Jan 2006 01:53:28 +0000 (01:53 +0000)]
Grammer correction.

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

18 years agoHad expand logic backward.
Jim Laskey [Thu, 5 Jan 2006 01:47:43 +0000 (01:47 +0000)]
Had expand logic backward.

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

18 years agoAdded initial support for DEBUG_LABEL allowing debug specific labels to be
Jim Laskey [Thu, 5 Jan 2006 01:25:28 +0000 (01:25 +0000)]
Added initial support for DEBUG_LABEL allowing debug specific labels to be
inserted in the code.

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

18 years agoDAG based isel call support.
Evan Cheng [Thu, 5 Jan 2006 00:27:02 +0000 (00:27 +0000)]
DAG based isel call support.

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

18 years agoRemove some dead code.
Evan Cheng [Thu, 5 Jan 2006 00:26:14 +0000 (00:26 +0000)]
Remove some dead code.

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

18 years agoremove unused header
Chris Lattner [Thu, 5 Jan 2006 00:21:37 +0000 (00:21 +0000)]
remove unused header

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

18 years agoApplied some recommend changes from sabre. The dominate one beginning "let the
Jim Laskey [Wed, 4 Jan 2006 22:28:25 +0000 (22:28 +0000)]
Applied some recommend changes from sabre.  The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.

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

18 years agoBe consistent in using class vs struct to make VC++ happy. And as it contains
Jeff Cohen [Wed, 4 Jan 2006 17:21:23 +0000 (17:21 +0000)]
Be consistent in using class vs struct to make VC++ happy.  And as it contains
methods, virtual method even, class wins.

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

18 years agoTeach Visual Studio about new file.
Jeff Cohen [Wed, 4 Jan 2006 17:19:48 +0000 (17:19 +0000)]
Teach Visual Studio about new file.

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

18 years agoAdd unique id to debug location for debug label use (work in progress.)
Jim Laskey [Wed, 4 Jan 2006 15:04:11 +0000 (15:04 +0000)]
Add unique id to debug location for debug label use (work in progress.)

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

18 years agoAdd check for debug presence.
Jim Laskey [Wed, 4 Jan 2006 14:30:12 +0000 (14:30 +0000)]
Add check for debug presence.

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

18 years agoAdd flag for debug presence.
Jim Laskey [Wed, 4 Jan 2006 14:29:26 +0000 (14:29 +0000)]
Add flag for debug presence.

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

18 years agoTie dwarf generation to darwin assembler.
Jim Laskey [Wed, 4 Jan 2006 13:52:30 +0000 (13:52 +0000)]
Tie dwarf generation to darwin assembler.

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

18 years ago1. Make MachineDebugInfo a pass.
Jim Laskey [Wed, 4 Jan 2006 13:46:37 +0000 (13:46 +0000)]
1. Make MachineDebugInfo a pass.

2. Add label uniquing code.

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

18 years agoMove MachineDebugInfo to module level location.
Jim Laskey [Wed, 4 Jan 2006 13:44:43 +0000 (13:44 +0000)]
Move MachineDebugInfo to module level location.

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

18 years agoMoving MachineDebugInfo to module level location.
Jim Laskey [Wed, 4 Jan 2006 13:43:56 +0000 (13:43 +0000)]
Moving MachineDebugInfo to module level location.

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

18 years agoChange how MachineDebugInfo is fetched.
Jim Laskey [Wed, 4 Jan 2006 13:42:59 +0000 (13:42 +0000)]
Change how MachineDebugInfo is fetched.

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

18 years agoAdding MachineDebugInfo as a immutable pass.
Jim Laskey [Wed, 4 Jan 2006 13:42:02 +0000 (13:42 +0000)]
Adding MachineDebugInfo as a immutable pass.

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

18 years agoAdding new files.
Jim Laskey [Wed, 4 Jan 2006 13:37:32 +0000 (13:37 +0000)]
Adding new files.

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

18 years agoExtending MachineDebugInfo.
Jim Laskey [Wed, 4 Jan 2006 13:36:38 +0000 (13:36 +0000)]
Extending MachineDebugInfo.

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

18 years agoPatch #6's in Saem's refactor-the-passmanager patch series. From him:
Chris Lattner [Wed, 4 Jan 2006 07:47:13 +0000 (07:47 +0000)]
Patch #6's in Saem's refactor-the-passmanager patch series.  From him:

This sanitises the world, blows away the specialisations and adds
traits per passmanager type -- seemed most natural.

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

18 years agoadd a comment that I should have written a long time ago
Chris Lattner [Wed, 4 Jan 2006 07:29:33 +0000 (07:29 +0000)]
add a comment that I should have written a long time ago

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

18 years agoAdd support for targets (like Alpha) that have terminator instructions which
Chris Lattner [Wed, 4 Jan 2006 07:12:21 +0000 (07:12 +0000)]
Add support for targets (like Alpha) that have terminator instructions which
use virtual registers.  We now allow the first instruction in a block of
terminators to use virtual registers, and update phi elimination to correctly
update livevar when eliminating phi's.  This fixes a problem on a testcase
Andrew sent me.

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

18 years agoUpdate list of supported bisons.
Jeff Cohen [Wed, 4 Jan 2006 06:51:22 +0000 (06:51 +0000)]
Update list of supported bisons.

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

18 years agoAdd an assertion, update DefInst even though no one uses it (dangling pointers
Chris Lattner [Wed, 4 Jan 2006 06:47:48 +0000 (06:47 +0000)]
Add an assertion, update DefInst even though no one uses it (dangling pointers
don't help anyone)

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

18 years agoAdd a LiveVariables::VarInfo::dump method
Chris Lattner [Wed, 4 Jan 2006 05:40:30 +0000 (05:40 +0000)]
Add a LiveVariables::VarInfo::dump method

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

18 years agoadd a dump method to help debugging
Chris Lattner [Wed, 4 Jan 2006 05:39:51 +0000 (05:39 +0000)]
add a dump method to help debugging

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

18 years agoSaem's patch #5 of the passmanager refactoring
Chris Lattner [Wed, 4 Jan 2006 05:02:04 +0000 (05:02 +0000)]
Saem's patch #5 of the passmanager refactoring

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

18 years agopatch #4 in Saem's passmanager refactoring.
Chris Lattner [Wed, 4 Jan 2006 04:36:11 +0000 (04:36 +0000)]
patch #4 in Saem's passmanager refactoring.

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

18 years agoReplace fix with one less disruptive to the original code.
Jeff Cohen [Wed, 4 Jan 2006 03:23:30 +0000 (03:23 +0000)]
Replace fix with one less disruptive to the original code.

Also note that GCC 4.1 also correctly flags the syntax error.

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

18 years agoTblgen was generating syntactically illegal C++ code like:
Jeff Cohen [Wed, 4 Jan 2006 03:15:19 +0000 (03:15 +0000)]
Tblgen was generating syntactically illegal C++ code like:

   SDOperand Tmp0,Tmp1,Tmp2,Tmp3,;

GCC has a bug (24907) in which is fails to catch this, but VC++ correctly
notes its illegality, so tblgen must be taught to only generate legal C++.

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

18 years agoimplement constant folding of ==/!= on constant packed, simplify some code.
Chris Lattner [Wed, 4 Jan 2006 02:20:54 +0000 (02:20 +0000)]
implement constant folding of ==/!= on constant packed, simplify some code.

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

18 years agoimplement constant folding for the element-wise binary operations
Chris Lattner [Wed, 4 Jan 2006 02:15:02 +0000 (02:15 +0000)]
implement constant folding for the element-wise binary operations

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

18 years agodon't crash when trying to constant fold packed expressions.
Chris Lattner [Wed, 4 Jan 2006 02:03:29 +0000 (02:03 +0000)]
don't crash when trying to constant fold packed expressions.

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

18 years agoFix an assertion to allow constant folding of packed values
Chris Lattner [Wed, 4 Jan 2006 01:01:04 +0000 (01:01 +0000)]
Fix an assertion to allow constant folding of packed values

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

18 years agoRemove obsolete comment, make things look a bit nicer
Chris Lattner [Wed, 4 Jan 2006 00:32:01 +0000 (00:32 +0000)]
Remove obsolete comment, make things look a bit nicer

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

18 years agoreduce stack usage of the recursive SelectCode function by out-lining each
Chris Lattner [Wed, 4 Jan 2006 00:25:00 +0000 (00:25 +0000)]
reduce stack usage of the recursive SelectCode function by out-lining each
case of the switch statement into its own method.

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

18 years agoRemove my previous ugly hack that tries to reduce the stack space usage
Chris Lattner [Tue, 3 Jan 2006 22:55:16 +0000 (22:55 +0000)]
Remove my previous ugly hack that tries to reduce the stack space usage
of SelectCode to make way for a better solution.

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

18 years agoPull inline methods out of the pass class definition to make it easier to
Chris Lattner [Tue, 3 Jan 2006 19:13:17 +0000 (19:13 +0000)]
Pull inline methods out of the pass class definition to make it easier to
read the code.

Do not internalize debugger anchors.

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