oota-llvm.git
18 years agoremove unused flag
Chris Lattner [Tue, 20 Jun 2006 23:15:07 +0000 (23:15 +0000)]
remove unused flag

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

18 years agoadd some logical ops
Chris Lattner [Tue, 20 Jun 2006 23:11:59 +0000 (23:11 +0000)]
add some logical ops

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

18 years agoremove some unused patterns
Chris Lattner [Tue, 20 Jun 2006 23:11:36 +0000 (23:11 +0000)]
remove some unused patterns

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

18 years agoAdd some more immediate patterns. This allows us to compile:
Chris Lattner [Tue, 20 Jun 2006 23:03:01 +0000 (23:03 +0000)]
Add some more immediate patterns.  This allows us to compile:

void test6() {
  Y = 0xABCD0123BCDE4567;
}

into:

_test6:
        lis r2, -21555
        lis r3, ha16(_Y)
        ori r2, r2, 291
        rldicr r2, r2, 32, 31
        oris r2, r2, 48350
        ori r2, r2, 17767
        std r2, lo16(_Y)(r3)
        blr

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

18 years agoInstead of li/xoris use li/oris. Note that this doesn't work if bit 15 is
Chris Lattner [Tue, 20 Jun 2006 22:38:59 +0000 (22:38 +0000)]
Instead of li/xoris use li/oris.  Note that this doesn't work if bit 15 is
set, so disable the pattern in that case.

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

18 years agoAdd some 64-bit logical ops.
Chris Lattner [Tue, 20 Jun 2006 22:34:10 +0000 (22:34 +0000)]
Add some 64-bit logical ops.
Split imm16Shifted into a sext/zext form for 64-bit support.
Add some patterns for immediate formation.  For example, we now compile this:

static unsigned long long Y;
void test3() {
  Y = 0xF0F00F00;
}

into:

_test3:
        li r2, 3840
        lis r3, ha16(_Y)
        xoris r2, r2, 61680
        std r2, lo16(_Y)(r3)
        blr

GCC produces:

_test3:
        li r0,0
        lis r2,ha16(_Y)
        ori r0,r0,61680
        sldi r0,r0,16
        ori r0,r0,3840
        std r0,lo16(_Y)(r2)
        blr

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

18 years agoAdded --with-extra-options=opts to specify additional options to build LLVM and run...
Evan Cheng [Tue, 20 Jun 2006 22:16:32 +0000 (22:16 +0000)]
Added --with-extra-options=opts to specify additional options to build LLVM and run tests.

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

18 years ago__i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.
Evan Cheng [Tue, 20 Jun 2006 22:11:12 +0000 (22:11 +0000)]
__i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.

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

18 years ago64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.
Chris Lattner [Tue, 20 Jun 2006 21:39:30 +0000 (21:39 +0000)]
64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.

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

18 years agoAdd some patterns for globals, so we can now compile this:
Chris Lattner [Tue, 20 Jun 2006 21:23:06 +0000 (21:23 +0000)]
Add some patterns for globals, so we can now compile this:

static unsigned long long X, Y;
void test1() {
  X = Y;
}

into:

_test1:
        lis r2, ha16(_Y)
        lis r3, ha16(_X)
        ld r2, lo16(_Y)(r2)
        std r2, lo16(_X)(r3)
        blr

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

18 years agoadd subroutine types
Jim Laskey [Tue, 20 Jun 2006 21:13:20 +0000 (21:13 +0000)]
add subroutine types

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

18 years agoremove quotes for better consistency
Chris Lattner [Tue, 20 Jun 2006 20:56:03 +0000 (20:56 +0000)]
remove quotes for better consistency

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

18 years agomore significant moving of stuff around.
Chris Lattner [Tue, 20 Jun 2006 20:54:47 +0000 (20:54 +0000)]
more significant moving of stuff around.

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

18 years agoFix broken links, remove author information, add brief summary.
Chris Lattner [Tue, 20 Jun 2006 20:47:38 +0000 (20:47 +0000)]
Fix broken links, remove author information, add brief summary.

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

18 years agoAdd support for function types.
Jim Laskey [Tue, 20 Jun 2006 19:41:06 +0000 (19:41 +0000)]
Add support for function types.

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

18 years agoAllow LLVM to be built with extra options.
Evan Cheng [Tue, 20 Jun 2006 18:50:48 +0000 (18:50 +0000)]
Allow LLVM to be built with extra options.

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

18 years agoRename EXTRA_FLAGS to EXTRA_OPTIONS.
Evan Cheng [Tue, 20 Jun 2006 18:49:13 +0000 (18:49 +0000)]
Rename EXTRA_FLAGS to EXTRA_OPTIONS.

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

18 years agoAdded LLVM publications describing the LLVM compiler infrastructure.
John Criswell [Tue, 20 Jun 2006 18:21:31 +0000 (18:21 +0000)]
Added LLVM publications describing the LLVM compiler infrastructure.

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

18 years agoAdded the privbracket project to the list of projects to auto-configure.
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

18 years agoFix build on old compilers
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

18 years agoFix an error message regression. Print:
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

18 years agoRemove some now-unneeded casts from instruction patterns. With the casts
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

18 years agoAdd some patterns for ppc64
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

18 years agoDon't require src/dst patterns to be able to fully resolve their types,
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

18 years agoRemove some ugly now-redundant casts.
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

18 years agoMake sure to use the result of the pattern to infer the result type of the
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

18 years agoFix some mismatched type constraints
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

18 years agoReferences need to be section relative.
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

18 years agoMinor clean up.
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

18 years agoDo partial inlining in BU. This resolves more call sites. Also add options to merge...
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

18 years agoReferences need to be section relative.
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

18 years agoFix a bug, don't drop indirect call sites, especially if there is nothing known about...
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

18 years agoHandle versioning of compile unit.
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

18 years agoinitial implementation of ARMRegisterInfo::eliminateFrameIndex
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

18 years agoConstant fold sqrtf
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

18 years agoJust a minor tweak so you can run things like:
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

18 years agoClean up
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

18 years agoFix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where a
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

18 years agonew testcase that crashes indvars
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

18 years agoA new entry.
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

18 years agoImplement the getPointerRegClass method, which is required for the ptr_rc
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

18 years agoForgot operands were hard coded for compile unit.
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

18 years agoInclude information of svn repository for llvm-gcc4.
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

18 years agoInclude information about svn repository for llvm-gcc4.
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

18 years agoLater models likely to have Yonah like attributes.
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

18 years agoDo not hardcode random paths into the makefile. Make the user specify the
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

18 years agoUpgrade some load/store instructions to use the proper addressing mode stuff.
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

18 years agoIn 64-bit mode, addr mode operands use G8RC instead of GPRC.
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

18 years agofix some assumptions that pointers can only be 32-bits. With this, we can
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

18 years agoSplit 64-bit instructions out into a separate .td file
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

18 years agoForce 64-bit register availability in 64-bit mode. For real.
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

18 years agoDocument known xcode 2.3 issue
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

18 years agoRemove the -darwin and -aix llc options, inferring darwinism and aixism from
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

18 years agoAdd missing casts. This fixed some regressions.
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

18 years agoImprove a comment.
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

18 years agoSimplify TargetData ctor call
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

18 years agoDon't pass target name into TargetData anymore, it is never used or needed.
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

18 years agoDon't pass target name into TargetData anymore, it is never used or needed.
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

18 years agoSimplify the targetdata ctor by not passing in a "targetname" which is always
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

18 years agoRemove ctor with each piece specifyable (which causes overload ambiguities),
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

18 years agoOnly count instructions as code size, not constant pools and other per-function stuff.
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

18 years agoSimplify interpreter construction.
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

18 years agoDocument the subtarget features better, make sure that 64-bit mode, 64-bit
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

18 years agoRename some subtarget features. A CPU now can *have* 64-bit instructions,
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

18 years agoapple's compiler works too
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

18 years agoPR# not associated with XFAIL
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

18 years agodebug info is alive again
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

18 years agoThis test isn't implemented yet
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

18 years agoAdd a error message to cbu to match bu
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

18 years agomove header
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

18 years agoadd decimal form of LLVMDebugVersion
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

18 years ago1. Revise vector debug support.
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

18 years agoMore libcall transformations:
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

18 years agoSimplify fprintf(file, "%s", str) to fputs(str, file).
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

18 years agoFirst baby step towards ppc64 support. This adds a new -march=ppc64 backend
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

18 years agoFix Regression/Linker/2006-06-15-GlobalVarAnment.ll
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

18 years agoNew testcase, the linker is not merging alignments right.
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

18 years agoOnly print the stack trace if it was requested. Previously, any call into
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

18 years agoTeach the local allocator to know that live-in values (e.g. arguments) are
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

18 years agoAdd a note that Nate noticed.
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

18 years ago1. Support standard dwarf format (was bootstrapping in Apple format.)
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

18 years agoWas pointed out that structure alignment and type alignment are not the same
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

18 years agoMake sure global doubles and vectors are aligned properly.
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

18 years agoAdd some more matcher classes for shifts.
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

18 years agoImplement Transforms/InstCombine/bswap.ll, turning common shift/and/or bswap
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

18 years agonew testcase, instcombine should turn these into llvm.bswap intrinsics.
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

18 years agoFix building on case-sensitive file systems, grr :)
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

18 years agoActually add instructions to the list of defined values so it gets
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

18 years agoAlignment of globals has not been quite right. Needed to drop the pointer type
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

18 years agoVector extract / insert index operand should have ptr type.
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

18 years agoType of extract_element index operand should be iPTR.
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

18 years agoType of vector extract / insert index operand should be iPTR.
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

18 years agoConsistency. EXTRACT_ELEMENT index operand should have ptr type.
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

18 years agoAssert. Rather than silently stop printing.
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

18 years agoAvoid undesirable behavior when assert is not enabled.
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

18 years agoInstructions with variable operands (variable_ops) can have a number required
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

18 years agoAllow more use of iPTR in patterns.
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

18 years agoX86 call instructions can take variable number of operands. Parameters of
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

18 years agoAdded support for variable_ops.
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

18 years agoadd a note
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