oota-llvm.git
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

18 years agosilence some warnings
Chris Lattner [Tue, 3 Jan 2006 17:52:18 +0000 (17:52 +0000)]
silence some warnings

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

18 years agoHappy New Year, LLVM.
John Criswell [Tue, 3 Jan 2006 14:42:06 +0000 (14:42 +0000)]
Happy New Year, LLVM.

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

18 years agoChange a variable from being an iterator to a raw MachineInstr*, to make
Chris Lattner [Tue, 3 Jan 2006 07:41:37 +0000 (07:41 +0000)]
Change a variable from being an iterator to a raw MachineInstr*, to make
GDB use tolerable

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

18 years agoFinally commit Saem's 'patch #3' to refactor the pass manager
Chris Lattner [Tue, 3 Jan 2006 07:05:17 +0000 (07:05 +0000)]
Finally commit Saem's 'patch #3' to refactor the pass manager

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