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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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