John Criswell [Tue, 20 Jun 2006 17:44:40 +0000 (17:44 +0000)]
Added the privbracket project to the list of projects to auto-configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28870
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 20 Jun 2006 15:32:17 +0000 (15:32 +0000)]
Fix build on old compilers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:56:37 +0000 (00:56 +0000)]
Fix an error message regression. Print:
LI8: (LI8:i64 (imm:i64):$imm)
instead of:
LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:39:56 +0000 (00:39 +0000)]
Remove some now-unneeded casts from instruction patterns. With the casts
removed, tblgen produces identical output to with them in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:38:36 +0000 (00:38 +0000)]
Add some patterns for ppc64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:31:27 +0000 (00:31 +0000)]
Don't require src/dst patterns to be able to fully resolve their types,
because information about one can help refine the other. This allows us to
write:
def : Pat<(i32 (extload xaddr:$src, i8)),
(LBZX xaddr:$src)>;
as:
def : Pat<(extload xaddr:$src, i8),
(LBZX xaddr:$src)>;
because tblgen knows LBZX returns i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28865
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:25:29 +0000 (00:25 +0000)]
Remove some ugly now-redundant casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:18:02 +0000 (00:18 +0000)]
Make sure to use the result of the pattern to infer the result type of the
instruction, and the result type of the instruction to refine the pattern.
This allows us to write things like this:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
as:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)>
and fixes a ppc64 issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:12:37 +0000 (00:12 +0000)]
Fix some mismatched type constraints
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28862
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 19:49:42 +0000 (19:49 +0000)]
References need to be section relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Jun 2006 19:25:30 +0000 (19:25 +0000)]
Minor clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28860
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 19 Jun 2006 18:23:36 +0000 (18:23 +0000)]
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 15:48:00 +0000 (15:48 +0000)]
References need to be section relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28858
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 19 Jun 2006 15:42:47 +0000 (15:42 +0000)]
Fix a bug, don't drop indirect call sites, especially if there is nothing known about them yet, and restore a simple version of a removed function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28857
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 12:54:15 +0000 (12:54 +0000)]
Handle versioning of compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28855
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 18 Jun 2006 00:08:07 +0000 (00:08 +0000)]
initial implementation of ARMRegisterInfo::eliminateFrameIndex
fixes test/Regression/CodeGen/ARM/ret_arg5.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 18:17:52 +0000 (18:17 +0000)]
Constant fold sqrtf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 08:06:33 +0000 (08:06 +0000)]
Just a minor tweak so you can run things like:
TestRunner.sh Foo/Bar/test.ll
instead of just
TestRunner.sh test.ll
which is convenient in conjunction with find.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28852
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Jun 2006 01:42:20 +0000 (01:42 +0000)]
Clean up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 01:02:31 +0000 (01:02 +0000)]
Fix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where a
"LCSSA" phi node causes indvars to break dominance properties. This fixes
causes indvars to avoid inserting aggressive code in this case, instead
indvars should be fixed to be more aggressive in the face of lcssa phi's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 01:01:30 +0000 (01:01 +0000)]
new testcase that crashes indvars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28849
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Jun 2006 00:45:49 +0000 (00:45 +0000)]
A new entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 00:01:04 +0000 (00:01 +0000)]
Implement the getPointerRegClass method, which is required for the ptr_rc
magic to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28847
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:36:12 +0000 (23:36 +0000)]
Forgot operands were hard coded for compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28846
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:34:49 +0000 (23:34 +0000)]
Include information of svn repository for llvm-gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28845
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:20:21 +0000 (23:20 +0000)]
Include information about svn repository for llvm-gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28844
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Jun 2006 21:58:49 +0000 (21:58 +0000)]
Later models likely to have Yonah like attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:47:59 +0000 (21:47 +0000)]
Do not hardcode random paths into the makefile. Make the user specify the
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:29:41 +0000 (21:29 +0000)]
Upgrade some load/store instructions to use the proper addressing mode stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:29:03 +0000 (21:29 +0000)]
In 64-bit mode, addr mode operands use G8RC instead of GPRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:01:35 +0000 (21:01 +0000)]
fix some assumptions that pointers can only be 32-bits. With this, we can
now compile:
static unsigned long X;
void test1() {
X = 0;
}
into:
_test1:
lis r2, ha16(_X)
li r3, 0
stw r3, lo16(_X)(r2)
blr
Totally amazing :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28839
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 20:22:01 +0000 (20:22 +0000)]
Split 64-bit instructions out into a separate .td file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28838
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 20:05:06 +0000 (20:05 +0000)]
Force 64-bit register availability in 64-bit mode. For real.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28837
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 19:53:39 +0000 (19:53 +0000)]
Document known xcode 2.3 issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28836
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:50:48 +0000 (18:50 +0000)]
Remove the -darwin and -aix llc options, inferring darwinism and aixism from
the target triple & subtarget info. woo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28835
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Jun 2006 18:37:15 +0000 (18:37 +0000)]
Add missing casts. This fixed some regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28834
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:25:06 +0000 (18:25 +0000)]
Improve a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:24:38 +0000 (18:24 +0000)]
Simplify TargetData ctor call
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28832
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:23:49 +0000 (18:23 +0000)]
Don't pass target name into TargetData anymore, it is never used or needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:22:52 +0000 (18:22 +0000)]
Don't pass target name into TargetData anymore, it is never used or needed.
Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28830
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:21:53 +0000 (18:21 +0000)]
Simplify the targetdata ctor by not passing in a "targetname" which is always
ignored.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28829
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:11:26 +0000 (18:11 +0000)]
Remove ctor with each piece specifyable (which causes overload ambiguities),
add a new init method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:09:26 +0000 (18:09 +0000)]
Only count instructions as code size, not constant pools and other per-function stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 18:08:38 +0000 (18:08 +0000)]
Simplify interpreter construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 17:50:12 +0000 (17:50 +0000)]
Document the subtarget features better, make sure that 64-bit mode, 64-bit
support, and 64-bit register use are all consistent with each other.
Add a new "IsPPC" feature, to distinguish ppc32 vs ppc64 targets, use this
to configure TargetData differently. This not makes ppc64 blow up on lots
of stuff :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28825
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 17:34:12 +0000 (17:34 +0000)]
Rename some subtarget features. A CPU now can *have* 64-bit instructions,
can in 32-bit mode we can choose to optionally *use* 64-bit registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28824
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 17:20:33 +0000 (17:20 +0000)]
apple's compiler works too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28823
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 16:57:43 +0000 (16:57 +0000)]
PR# not associated with XFAIL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28822
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 16:50:24 +0000 (16:50 +0000)]
debug info is alive again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 16:36:50 +0000 (16:36 +0000)]
This test isn't implemented yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28820
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 16 Jun 2006 14:43:36 +0000 (14:43 +0000)]
Add a error message to cbu to match bu
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28819
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 16 Jun 2006 14:33:53 +0000 (14:33 +0000)]
move header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28818
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 13:45:38 +0000 (13:45 +0000)]
add decimal form of LLVMDebugVersion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28817
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 13:14:03 +0000 (13:14 +0000)]
1. Revise vector debug support.
2. Update docs for vector debug support and new version control.
3. Simplify serialization of DebugDescInfo subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28816
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Jun 2006 08:36:35 +0000 (08:36 +0000)]
More libcall transformations:
printf("%s\n", str) -> puts(str)
printf("%c", c) -> putchar(c)
Also fixed fprintf(file, "%c", c) -> fputc(c, file)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28815
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Jun 2006 04:52:30 +0000 (04:52 +0000)]
Simplify fprintf(file, "%s", str) to fputs(str, file).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 01:37:27 +0000 (01:37 +0000)]
First baby step towards ppc64 support. This adds a new -march=ppc64 backend
that is currently just like ppc32 :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 01:24:04 +0000 (01:24 +0000)]
Fix Regression/Linker/2006-06-15-GlobalVarAnment.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 01:20:58 +0000 (01:20 +0000)]
New testcase, the linker is not merging alignments right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28811
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 16 Jun 2006 00:00:57 +0000 (00:00 +0000)]
Only print the stack trace if it was requested. Previously, any call into
the Signals module that registered the handlers would cause the stack trace
to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal
in order for that to happen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 22:21:53 +0000 (22:21 +0000)]
Teach the local allocator to know that live-in values (e.g. arguments) are
live at function entry. This prevents it from using arg registers for other
purposes before the arguments are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28809
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 21:33:31 +0000 (21:33 +0000)]
Add a note that Nate noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28808
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 15 Jun 2006 20:51:43 +0000 (20:51 +0000)]
1. Support standard dwarf format (was bootstrapping in Apple format.)
2. Add vector support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28807
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 15 Jun 2006 19:37:14 +0000 (19:37 +0000)]
Was pointed out that structure alignment and type alignment are not the same
thing. Doubles still need to be special cased.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28806
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 15 Jun 2006 19:35:07 +0000 (19:35 +0000)]
Make sure global doubles and vectors are aligned properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 19:25:28 +0000 (19:25 +0000)]
Add some more matcher classes for shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 19:07:26 +0000 (19:07 +0000)]
Implement Transforms/InstCombine/bswap.ll, turning common shift/and/or bswap
idioms into bswap intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 19:06:42 +0000 (19:06 +0000)]
new testcase, instcombine should turn these into llvm.bswap intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28802
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jun 2006 17:31:22 +0000 (17:31 +0000)]
Fix building on case-sensitive file systems, grr :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28801
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 15 Jun 2006 16:09:59 +0000 (16:09 +0000)]
Actually add instructions to the list of defined values so it gets
recognized as such! This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28800
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 15 Jun 2006 13:10:58 +0000 (13:10 +0000)]
Alignment of globals has not been quite right. Needed to drop the pointer type
to get the alignment of the element type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28799
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:19:05 +0000 (08:19 +0000)]
Vector extract / insert index operand should have ptr type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28798
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:18:06 +0000 (08:18 +0000)]
Type of extract_element index operand should be iPTR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28797
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:14:54 +0000 (08:14 +0000)]
Type of vector extract / insert index operand should be iPTR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28796
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:11:54 +0000 (08:11 +0000)]
Consistency. EXTRACT_ELEMENT index operand should have ptr type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28795
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:10:56 +0000 (08:10 +0000)]
Assert. Rather than silently stop printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28794
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 08:10:27 +0000 (08:10 +0000)]
Avoid undesirable behavior when assert is not enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28793
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 07:22:16 +0000 (07:22 +0000)]
Instructions with variable operands (variable_ops) can have a number required
operands. e.g.
def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops),
"call {*}$dst", [(X86call GR32:$dst)]>;
TableGen should emit operand informations for the "required" operands.
Added a target instruction info flag M_VARIABLE_OPS to indicate the target
instruction may have more operands in addition to the minimum required
operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28791
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Jun 2006 00:16:37 +0000 (00:16 +0000)]
Allow more use of iPTR in patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28790
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jun 2006 22:24:55 +0000 (22:24 +0000)]
X86 call instructions can take variable number of operands. Parameters of
vector types are passed via XMM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28789
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jun 2006 22:22:20 +0000 (22:22 +0000)]
Added support for variable_ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jun 2006 21:26:18 +0000 (21:26 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jun 2006 21:24:57 +0000 (21:24 +0000)]
new testcase, not currently working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28786
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jun 2006 19:27:50 +0000 (19:27 +0000)]
Fix support for optional input flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28784
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jun 2006 18:17:40 +0000 (18:17 +0000)]
Add argument registers to the end of call operand list (partial fix).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28783
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 14 Jun 2006 14:45:39 +0000 (14:45 +0000)]
Change versioning to per debug info descriptor (merged with tag.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28782
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 14 Jun 2006 11:35:03 +0000 (11:35 +0000)]
Place dwarf headers at earliest possible point. Well behaved when skipping
functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28781
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jun 2006 04:46:17 +0000 (04:46 +0000)]
Fix Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll, a loop unswitch
bug exposed by the recent lcssa work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28779
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jun 2006 04:45:45 +0000 (04:45 +0000)]
new testcase, distilled from povray
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28778
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Jun 2006 04:43:14 +0000 (04:43 +0000)]
When asked not to delete useless PHIs, really don't delete them, no matter how
redundant they are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jun 2006 01:13:57 +0000 (01:13 +0000)]
Use the PotDoms map to memoize 'dominating value' lookup. With this patch,
LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes
39s instead of 289s. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28776
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Jun 2006 21:47:27 +0000 (21:47 +0000)]
getOperandNum(): error if specified operand number is out of range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28775
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Jun 2006 20:50:09 +0000 (20:50 +0000)]
Fix another instance where PHI nodes need special treatment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28774
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Jun 2006 20:45:22 +0000 (20:45 +0000)]
Update isLCSSAForm to handle PHI nodes specially for live-out detection. This
is the same as the recent patch to LCSSA.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28773
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 13 Jun 2006 20:34:47 +0000 (20:34 +0000)]
I am sure I had commited this workaround before. Perhaps soon I should sort it all out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28772
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Jun 2006 19:37:18 +0000 (19:37 +0000)]
Fix a bug that was causing major slowdowns in povray. This was due to LCSSA
not handling PHI nodes correctly when determining if a value was live-out.
This patch reduces the number of detected live-out variables in the testcase
from 6565 to 485.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28771
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 13 Jun 2006 18:27:39 +0000 (18:27 +0000)]
It really helps to be returning to the correct place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Jun 2006 16:52:37 +0000 (16:52 +0000)]
Port some bugfixes in shift handling from SimplifyDemandedBits over to
ComputeMaskedBits. DemandedMasks and KnownZero/One masks should never have
bits set out of the range of the base datatype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28768
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 13 Jun 2006 15:22:49 +0000 (15:22 +0000)]
My original test case was bogus. Reverting to crasher case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28767
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 13 Jun 2006 13:10:44 +0000 (13:10 +0000)]
Tests to make sure that ComputeMaskedBits discards bits for shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28766
91177308-0d34-0410-b5e6-
96231b3b80d8