oota-llvm.git
17 years agoX86 / Cygwin asm / alignment fixes.
Evan Cheng [Thu, 25 May 2006 21:59:08 +0000 (21:59 +0000)]
X86 / Cygwin asm / alignment fixes.
Patch contributed by Anton Korobeynikov!

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

17 years agoThe patch corresponding to this test had to be reverted as unsafe.
Chris Lattner [Thu, 25 May 2006 21:25:54 +0000 (21:25 +0000)]
The patch corresponding to this test had to be reverted as unsafe.

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

17 years agoRevert a patch that is unsafe, due to out of range array accesses in inner
Chris Lattner [Thu, 25 May 2006 21:25:12 +0000 (21:25 +0000)]
Revert a patch that is unsafe, due to out of range array accesses in inner
array scopes possibly accessing valid memory in outer subscripts.

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

17 years agoNew test case. x86 isel was creating a cycle in the DAG.
Evan Cheng [Thu, 25 May 2006 20:21:19 +0000 (20:21 +0000)]
New test case. x86 isel was creating a cycle in the DAG.

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

17 years agoCan't trust NodeDepth when checking for possibility of load folding creating
Evan Cheng [Thu, 25 May 2006 20:16:55 +0000 (20:16 +0000)]
Can't trust NodeDepth when checking for possibility of load folding creating
a cycle. This increase the search space and will increase compile time (in
practice it appears to be small, e.g. 176.gcc goes from 62 sec to 65 sec)
that will be addressed later.

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

17 years agoBuild breakage.
Evan Cheng [Thu, 25 May 2006 18:56:34 +0000 (18:56 +0000)]
Build breakage.

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

17 years agoFix build failure of povray
Chris Lattner [Thu, 25 May 2006 18:06:16 +0000 (18:06 +0000)]
Fix build failure of povray

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

17 years agoFix Benchmarks/MallocBench/cfrac
Chris Lattner [Thu, 25 May 2006 16:54:16 +0000 (16:54 +0000)]
Fix Benchmarks/MallocBench/cfrac

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

17 years agoimplement initial version of ARMAsmPrinter::printOperand
Rafael Espindola [Thu, 25 May 2006 12:57:06 +0000 (12:57 +0000)]
implement initial version of ARMAsmPrinter::printOperand

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

17 years agoport the ARM backend to use ISD::CALL instead of LowerCallTo
Rafael Espindola [Thu, 25 May 2006 11:00:18 +0000 (11:00 +0000)]
port the ARM backend to use ISD::CALL instead of LowerCallTo

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

17 years agocreate test/Regression/CodeGen/ARM/ and add a minimal test to it
Rafael Espindola [Thu, 25 May 2006 10:49:19 +0000 (10:49 +0000)]
create test/Regression/CodeGen/ARM/ and add a minimal test to it

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

17 years ago-sched-commute-nodes is now on by default.
Evan Cheng [Thu, 25 May 2006 08:39:25 +0000 (08:39 +0000)]
-sched-commute-nodes is now on by default.

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

17 years agoTurn on -sched-commute-nodes by default.
Evan Cheng [Thu, 25 May 2006 08:37:31 +0000 (08:37 +0000)]
Turn on -sched-commute-nodes by default.

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

17 years agoFix breakage on platforms where string/cassert don't pull in int64_t.
Chris Lattner [Thu, 25 May 2006 05:59:50 +0000 (05:59 +0000)]
Fix breakage on platforms where string/cassert don't pull in int64_t.

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

17 years agoSwitch X86 over to a call-selection model where the lowering code creates
Evan Cheng [Thu, 25 May 2006 00:59:30 +0000 (00:59 +0000)]
Switch X86 over to a call-selection model where the lowering code creates
the copyto/fromregs instead of making the X86ISD::CALL selection code create
them.

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

17 years agoCALL node change (arg / sign pairs instead of just arguments).
Evan Cheng [Thu, 25 May 2006 00:57:32 +0000 (00:57 +0000)]
CALL node change (arg / sign pairs instead of just arguments).

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

17 years agoCALL node change: now including signness of every argument.
Evan Cheng [Thu, 25 May 2006 00:55:32 +0000 (00:55 +0000)]
CALL node change: now including signness of every argument.

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

17 years agoCALL node change: now containing signness of each argument.
Evan Cheng [Thu, 25 May 2006 00:54:33 +0000 (00:54 +0000)]
CALL node change: now containing signness of each argument.

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

17 years agoAssert if InflightSet is not cleared after instruction selecting a BB.
Evan Cheng [Thu, 25 May 2006 00:24:28 +0000 (00:24 +0000)]
Assert if InflightSet is not cleared after instruction selecting a BB.

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

17 years agoFixed a really ugly bug. The TableGen'd isel is not freeing the "inflight set"
Evan Cheng [Thu, 25 May 2006 00:21:44 +0000 (00:21 +0000)]
Fixed a really ugly bug. The TableGen'd isel is not freeing the "inflight set"
correctly. That is causing non-deterministic behavior (and possibly preventing
some load folding from happening).

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

17 years agoAbstract out the current optimization level into a flag that can be overridden
Chris Lattner [Wed, 24 May 2006 23:02:40 +0000 (23:02 +0000)]
Abstract out the current optimization level into a flag that can be overridden
on the make line, to avoid bugs in native compilers.

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

17 years agoRemove flags implied by -O3
Chris Lattner [Wed, 24 May 2006 22:59:07 +0000 (22:59 +0000)]
Remove flags implied by -O3

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

17 years agoUpdate testcase with recent cbe change
Chris Lattner [Wed, 24 May 2006 20:52:08 +0000 (20:52 +0000)]
Update testcase with recent cbe change

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

17 years agoClear HandleMap and ReplaceMap after instruction selection. Or it may cause
Evan Cheng [Wed, 24 May 2006 20:46:25 +0000 (20:46 +0000)]
Clear HandleMap and ReplaceMap after instruction selection. Or it may cause
non-deterministic behavior.

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

17 years agoFor PR786:
Reid Spencer [Wed, 24 May 2006 19:21:13 +0000 (19:21 +0000)]
For PR786:
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.

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

17 years agoFor PR786:
Reid Spencer [Wed, 24 May 2006 19:05:21 +0000 (19:05 +0000)]
For PR786:
Remove a spurious ;

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

17 years agoDon't use -fomit-frame-pointer on darwin, it breaks stacktrace collection.
Chris Lattner [Wed, 24 May 2006 18:34:08 +0000 (18:34 +0000)]
Don't use -fomit-frame-pointer on darwin, it breaks stacktrace collection.

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

17 years agoPatch for a new instcombine xform, patch contributed by Nick Lewycky!
Chris Lattner [Wed, 24 May 2006 17:34:30 +0000 (17:34 +0000)]
Patch for a new instcombine xform, patch contributed by Nick Lewycky!
This implements Transforms/InstCombine/2006-05-10-InvalidIndexUndef.ll

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

17 years agoTestcase for a new instcombine xform, patch contributed by Nick Lewycky!
Chris Lattner [Wed, 24 May 2006 17:34:02 +0000 (17:34 +0000)]
Testcase for a new instcombine xform, patch contributed by Nick Lewycky!

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

17 years agoDon't make zero-sized static arrays
Chris Lattner [Wed, 24 May 2006 17:31:02 +0000 (17:31 +0000)]
Don't make zero-sized static arrays

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

17 years agoPatches to make the LLVM sources more -pedantic clean. Patch provided
Chris Lattner [Wed, 24 May 2006 17:04:05 +0000 (17:04 +0000)]
Patches to make the LLVM sources more -pedantic clean.  Patch provided
by Anton Korobeynikov!  This is a step towards closing PR786.

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

17 years agoOne of these xforms is only safe with unsafe math enabled.
Chris Lattner [Wed, 24 May 2006 00:49:32 +0000 (00:49 +0000)]
One of these xforms is only safe with unsafe math enabled.

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

17 years agoFix CodeGen/Generic/vector.ll:test_div with altivec.
Chris Lattner [Wed, 24 May 2006 00:15:25 +0000 (00:15 +0000)]
Fix CodeGen/Generic/vector.ll:test_div with altivec.

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

17 years agoNew testcase
Chris Lattner [Wed, 24 May 2006 00:12:50 +0000 (00:12 +0000)]
New testcase

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

17 years agoHandle SETO* like we handle SET*, restoring behavior after Evan's setcc
Chris Lattner [Wed, 24 May 2006 00:06:44 +0000 (00:06 +0000)]
Handle SETO* like we handle SET*, restoring behavior after Evan's setcc
change.  This fixes PowerPC/fnegsel.ll.

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

17 years agoPrint struct return functions and calls as actually returning the hidden
Chris Lattner [Tue, 23 May 2006 23:39:48 +0000 (23:39 +0000)]
Print struct return functions and calls as actually returning the hidden
argument struct pointer, enabling ABI compatibility for the CBE with
platforms with strange struct-return ABIs.  This fixes 252.eon and
CoyoteBench/fftbench on Darwin/X86 among other things.

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

17 years agoFix file header comment
Chris Lattner [Tue, 23 May 2006 23:20:42 +0000 (23:20 +0000)]
Fix file header comment

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

17 years agoBetter way to check for vararg.
Evan Cheng [Tue, 23 May 2006 21:08:24 +0000 (21:08 +0000)]
Better way to check for vararg.

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

17 years agoRemove PreprocessCCCArguments and PreprocessFastCCArguments now that
Evan Cheng [Tue, 23 May 2006 21:06:34 +0000 (21:06 +0000)]
Remove PreprocessCCCArguments and PreprocessFastCCArguments now that
FORMAL_ARGUMENTS nodes include a token operand.

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

17 years agoImplement an annoying part of the Darwin/X86 abi: the callee of a struct
Chris Lattner [Tue, 23 May 2006 18:50:38 +0000 (18:50 +0000)]
Implement an annoying part of the Darwin/X86 abi: the callee of a struct
return argument pops the hidden struct pointer if present, not the caller.

For example, in this testcase:

struct X { int D, E, F, G; };
struct X bar() {
  struct X a;
  a.D = 0;
  a.E = 1;
  a.F = 2;
  a.G = 3;
  return a;
}
void foo(struct X *P) {
  *P = bar();
}

We used to emit:

_foo:
        subl $28, %esp
        movl 32(%esp), %eax
        movl %eax, (%esp)
        call _bar
        addl $28, %esp
        ret
_bar:
        movl 4(%esp), %eax
        movl $0, (%eax)
        movl $1, 4(%eax)
        movl $2, 8(%eax)
        movl $3, 12(%eax)
        ret

This is correct on Linux/X86 but not Darwin/X86.  With this patch, we now
emit:

_foo:
        subl $28, %esp
        movl 32(%esp), %eax
        movl %eax, (%esp)
        call _bar
***     addl $24, %esp
        ret
_bar:
        movl 4(%esp), %eax
        movl $0, (%eax)
        movl $1, 4(%eax)
        movl $2, 8(%eax)
        movl $3, 12(%eax)
***     ret $4

For the record, GCC emits (which is functionally equivalent to our new code):

_bar:
        movl    4(%esp), %eax
        movl    $3, 12(%eax)
        movl    $2, 8(%eax)
        movl    $1, 4(%eax)
        movl    $0, (%eax)
        ret     $4
_foo:
        pushl   %esi
        subl    $40, %esp
        movl    48(%esp), %esi
        leal    16(%esp), %eax
        movl    %eax, (%esp)
        call    _bar
        subl    $4, %esp
        movl    16(%esp), %eax
        movl    %eax, (%esi)
        movl    20(%esp), %eax
        movl    %eax, 4(%esi)
        movl    24(%esp), %eax
        movl    %eax, 8(%esi)
        movl    28(%esp), %eax
        movl    %eax, 12(%esi)
        addl    $40, %esp
        popl    %esi
        ret

This fixes SingleSource/Benchmarks/CoyoteBench/fftbench with LLC and the
JIT, and fixes the X86-backend portion of PR729.  The CBE still needs to
be updated.

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

17 years ago-enable-unsafe-fp-math implies -enable-finite-only-fp-math
Evan Cheng [Tue, 23 May 2006 18:18:46 +0000 (18:18 +0000)]
-enable-unsafe-fp-math implies -enable-finite-only-fp-math

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

17 years agoMake class comment visible in Doxygen.
Vladimir Prus [Tue, 23 May 2006 15:32:15 +0000 (15:32 +0000)]
Make class comment visible in Doxygen.

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

17 years agoFix missing include
Vladimir Prus [Tue, 23 May 2006 13:43:15 +0000 (13:43 +0000)]
Fix missing include

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

17 years agoAdded a test case for FP equality check.
Evan Cheng [Tue, 23 May 2006 06:41:23 +0000 (06:41 +0000)]
Added a test case for FP equality check.

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

17 years agoIncorrect SETCC CondCode used for FP comparisons.
Evan Cheng [Tue, 23 May 2006 06:40:47 +0000 (06:40 +0000)]
Incorrect SETCC CondCode used for FP comparisons.

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

17 years agoAdded option -enable-finite-only-fp-math. When on, the codegen can assume that
Evan Cheng [Tue, 23 May 2006 06:39:12 +0000 (06:39 +0000)]
Added option -enable-finite-only-fp-math. When on, the codegen can assume that
FP arithmetic arguments and results are never NaNs or +=Infs. This includes
ignoring parity flag (PF) when checking for FP equality.

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

17 years agoimplement minimal versions of
Rafael Espindola [Tue, 23 May 2006 02:48:20 +0000 (02:48 +0000)]
implement minimal versions of
ARMAsmPrinter::runOnMachineFunction
LowerFORMAL_ARGUMENTS
ARMInstrInfo::isMoveInstr

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

17 years agoDescribe how to add a custom test.
Chris Lattner [Tue, 23 May 2006 01:40:20 +0000 (01:40 +0000)]
Describe how to add a custom test.

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

17 years agoWrap long lines fix typo
Chris Lattner [Tue, 23 May 2006 01:25:11 +0000 (01:25 +0000)]
Wrap long lines fix typo

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

17 years agoA isel deficiency.
Evan Cheng [Mon, 22 May 2006 05:54:49 +0000 (05:54 +0000)]
A isel deficiency.

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

17 years agoFor PR784:
Reid Spencer [Sun, 21 May 2006 10:40:20 +0000 (10:40 +0000)]
For PR784:
Support Win32 platforms for llvm-gcc path. Patch by Anton Korobeynikov

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

17 years agoBack out indirect branch load folding hack. It broke some tests.
Evan Cheng [Sun, 21 May 2006 06:28:50 +0000 (06:28 +0000)]
Back out indirect branch load folding hack. It broke some tests.

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

17 years agoAdd a note
Chris Lattner [Sun, 21 May 2006 03:57:07 +0000 (03:57 +0000)]
Add a note

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

17 years agoMake TargetData strings less redundant.
Owen Anderson [Sat, 20 May 2006 23:28:54 +0000 (23:28 +0000)]
Make TargetData strings less redundant.

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

17 years agoSilence a bogus gcc warning
Chris Lattner [Sat, 20 May 2006 23:14:03 +0000 (23:14 +0000)]
Silence a bogus gcc warning

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

17 years agoFix a parsing bug that caused 7 llvm-test regressions on PPC last night.
Chris Lattner [Sat, 20 May 2006 21:16:59 +0000 (21:16 +0000)]
Fix a parsing bug that caused 7 llvm-test regressions on PPC last night.
I'm suprised it didn't cause more!

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

17 years ago- Use of load's chain result should be redirected to load's chain operand.
Evan Cheng [Sat, 20 May 2006 09:21:39 +0000 (09:21 +0000)]
- Use of load's chain result should be redirected to load's chain operand.
  If it reads the chain result of the call, then the use, callseq_start,
  and call would form a cycle!
- Don't forget handle node replacement!
- There could also be a TokenFactor between the load and the callseq_start.

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

17 years agoA new entry
Evan Cheng [Sat, 20 May 2006 07:44:53 +0000 (07:44 +0000)]
A new entry

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

17 years agoMissing break statements.
Evan Cheng [Sat, 20 May 2006 07:44:28 +0000 (07:44 +0000)]
Missing break statements.

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

17 years agoRemove unused patterns.
Evan Cheng [Sat, 20 May 2006 01:40:16 +0000 (01:40 +0000)]
Remove unused patterns.

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

17 years agoHandle indirect call which folds a load manually. This never matches by
Evan Cheng [Sat, 20 May 2006 01:36:52 +0000 (01:36 +0000)]
Handle indirect call which folds a load manually. This never matches by
the TableGen generated code since the load's chain result is read by
the callseq_start node.

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

17 years agoSparc is big-endian.
Owen Anderson [Sat, 20 May 2006 00:49:30 +0000 (00:49 +0000)]
Sparc is big-endian.

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

17 years agoMake all of the TargetMachine subclasses use the new string TargetData methods.
Owen Anderson [Sat, 20 May 2006 00:24:56 +0000 (00:24 +0000)]
Make all of the TargetMachine subclasses use the new string TargetData methods.

This is part of the on-going work on PR 761.

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

17 years agonew testcase for csretcc
Chris Lattner [Fri, 19 May 2006 22:00:54 +0000 (22:00 +0000)]
new testcase for csretcc

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

17 years agoPrint csretcc calls like this:
Chris Lattner [Fri, 19 May 2006 21:58:52 +0000 (21:58 +0000)]
Print csretcc calls like this:

        call csretcc void %structret( { sbyte }* %P )

instead of this:

        callcsretcc  void %structret( { sbyte }* %P )

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

17 years agoFix misencoding of calling conventions
Chris Lattner [Fri, 19 May 2006 21:57:37 +0000 (21:57 +0000)]
Fix misencoding of calling conventions

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

17 years agopretty print csretcc for calls
Chris Lattner [Fri, 19 May 2006 21:54:03 +0000 (21:54 +0000)]
pretty print csretcc for calls

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

17 years agoCSRet allows varargs
Chris Lattner [Fri, 19 May 2006 21:34:04 +0000 (21:34 +0000)]
CSRet allows varargs

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

17 years agoAsmprint csret nicely
Chris Lattner [Fri, 19 May 2006 21:29:57 +0000 (21:29 +0000)]
Asmprint csret nicely

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

17 years agoRegenerate
Chris Lattner [Fri, 19 May 2006 21:28:53 +0000 (21:28 +0000)]
Regenerate

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

17 years agoAdd support for parsing csret
Chris Lattner [Fri, 19 May 2006 21:28:34 +0000 (21:28 +0000)]
Add support for parsing csret

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

17 years agocsret functions can be varargs (as can target cc's). Verify restrictions on
Chris Lattner [Fri, 19 May 2006 21:25:17 +0000 (21:25 +0000)]
csret functions can be varargs (as can target cc's).  Verify restrictions on
csret functions.

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

17 years agoAdd new calling convention, as documented in LangRef.html
Chris Lattner [Fri, 19 May 2006 21:19:02 +0000 (21:19 +0000)]
Add new calling convention, as documented in LangRef.html

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

17 years agoNew calling convention I will be adding shortly.
Chris Lattner [Fri, 19 May 2006 21:15:36 +0000 (21:15 +0000)]
New calling convention I will be adding shortly.

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

17 years agoAdd a note
Chris Lattner [Fri, 19 May 2006 21:01:38 +0000 (21:01 +0000)]
Add a note

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

17 years agoAdd a note
Chris Lattner [Fri, 19 May 2006 20:55:31 +0000 (20:55 +0000)]
Add a note

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

17 years agoSplit the SSE readme items out into their own README.
Chris Lattner [Fri, 19 May 2006 20:51:43 +0000 (20:51 +0000)]
Split the SSE readme items out into their own README.

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

17 years agoSplit FP-stack notes out of the main readme. Next up: splitting out SSE.
Chris Lattner [Fri, 19 May 2006 20:45:52 +0000 (20:45 +0000)]
Split FP-stack notes out of the main readme.  Next up: splitting out SSE.

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

17 years agoMove a target-independent note out of the X86 readme.
Chris Lattner [Fri, 19 May 2006 20:45:08 +0000 (20:45 +0000)]
Move a target-independent note out of the X86 readme.

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

17 years agoParticularly ugly code.
Chris Lattner [Fri, 19 May 2006 19:41:33 +0000 (19:41 +0000)]
Particularly ugly code.

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

17 years agonew testcase
Chris Lattner [Fri, 19 May 2006 19:34:09 +0000 (19:34 +0000)]
new testcase

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

17 years agoFix a doxygen problem and break lines at 80 columns
Reid Spencer [Fri, 19 May 2006 19:09:46 +0000 (19:09 +0000)]
Fix a doxygen problem and break lines at 80 columns

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

17 years agoFix some doxygen usage in these headers.
Reid Spencer [Fri, 19 May 2006 19:07:54 +0000 (19:07 +0000)]
Fix some doxygen usage in these headers.

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

17 years agoThese can be transformed into lea as well. Not that we use this feature
Evan Cheng [Fri, 19 May 2006 18:43:41 +0000 (18:43 +0000)]
These can be transformed into lea as well. Not that we use this feature
currently...

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

17 years ago- Use exact-width integer types, e.g. int32_t, to avoid confusion.
Evan Cheng [Fri, 19 May 2006 18:40:54 +0000 (18:40 +0000)]
- Use exact-width integer types, e.g. int32_t, to avoid confusion.
- Fix a couple of minor bugs in i16immSExt8 and i16immZExt8.
- Added loadiPTR fragment used for indirect jumps and calls.

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

17 years agoUse class tags instead of struct tags. The coding standards specify this
Chris Lattner [Fri, 19 May 2006 17:17:12 +0000 (17:17 +0000)]
Use class tags instead of struct tags.  The coding standards specify this
for public classes for improved win32 compatibility.

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

17 years agoExplicitly specify MOV32mi can only be used store 32-bit GV, etc.
Evan Cheng [Fri, 19 May 2006 07:30:36 +0000 (07:30 +0000)]
Explicitly specify MOV32mi can only be used store 32-bit GV, etc.

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

17 years agoNow that iPTR is a fully resolved type. We end up losing the type check for
Evan Cheng [Fri, 19 May 2006 07:24:32 +0000 (07:24 +0000)]
Now that iPTR is a fully resolved type. We end up losing the type check for
patterns that look like this:

def : Pat<(i32 (X86Wrapper tconstpool  :$dst)), (MOV32ri tconstpool  :$dst)>;

InsertOneTypeCheck should copy the type from the resolved pattern to the
unresolved one as long as there types are different.

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

17 years agoimplement movri
Rafael Espindola [Thu, 18 May 2006 21:45:49 +0000 (21:45 +0000)]
implement movri
add a stub LowerFORMAL_ARGUMENTS

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

17 years agoAdded a Flags field to TargetOperandInfo. Currently the only flag is
Evan Cheng [Thu, 18 May 2006 20:44:26 +0000 (20:44 +0000)]
Added a Flags field to TargetOperandInfo. Currently the only flag is
M_LOOK_UP_PTR_REG_CLASS which allows the register class of the operand to be
resolved via a callback at runtime.

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

17 years agolib/Target/Target.td
Evan Cheng [Thu, 18 May 2006 20:42:07 +0000 (20:42 +0000)]
lib/Target/Target.td

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

17 years agoImprove error output. Use the third parameter of the "catch" command to
Reid Spencer [Thu, 18 May 2006 19:42:16 +0000 (19:42 +0000)]
Improve error output. Use the third parameter of the "catch" command to
capture the error output from the exec option. This generally will capture
the stderr messages generated by the tools. This information is then
printed if the test fails. This helps to recognize more quickly what the
error was. Otherwise, this information is lost.

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

17 years agoadd a note
Chris Lattner [Thu, 18 May 2006 18:26:13 +0000 (18:26 +0000)]
add a note

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

17 years agoadd a note
Chris Lattner [Thu, 18 May 2006 17:38:16 +0000 (17:38 +0000)]
add a note

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

17 years agoFix a bogus gcc warning
Andrew Lenharth [Thu, 18 May 2006 17:29:34 +0000 (17:29 +0000)]
Fix a bogus gcc warning

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

17 years agoImmMask should be 3 for a two-bit field; Compact X86II
Evan Cheng [Thu, 18 May 2006 06:27:15 +0000 (06:27 +0000)]
ImmMask should be 3 for a two-bit field; Compact X86II

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

17 years agoFix some think-o's in my last commit. Thanks to Chris for pointing them out.
Owen Anderson [Thu, 18 May 2006 05:46:08 +0000 (05:46 +0000)]
Fix some think-o's in my last commit. Thanks to Chris for pointing them out.

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

17 years agoChange Module to use TargetData-compatible strings internally.
Owen Anderson [Thu, 18 May 2006 02:10:31 +0000 (02:10 +0000)]
Change Module to use TargetData-compatible strings internally.

This is part of the on-going work on PR 761.

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

17 years agogetCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.
Evan Cheng [Thu, 18 May 2006 00:12:58 +0000 (00:12 +0000)]
getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.

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

17 years agoRemove CalleeSavedRegisters from class Target.
Evan Cheng [Thu, 18 May 2006 00:09:53 +0000 (00:09 +0000)]
Remove CalleeSavedRegisters from class Target.

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