oota-llvm.git
20 years agoNew testcase
Chris Lattner [Sat, 16 Oct 2004 18:28:01 +0000 (18:28 +0000)]
New testcase

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

20 years agoAdd support for undef and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:24:35 +0000 (18:24 +0000)]
Add support for undef and unreachable

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

20 years agotestcases for undefined and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:24:11 +0000 (18:24 +0000)]
testcases for undefined and unreachable

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

20 years agoFix fix fix
Chris Lattner [Sat, 16 Oct 2004 18:21:50 +0000 (18:21 +0000)]
Fix fix fix

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

20 years agoAdd support for unreachable
Chris Lattner [Sat, 16 Oct 2004 18:21:33 +0000 (18:21 +0000)]
Add support for unreachable

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

20 years agoAdd support for undef
Chris Lattner [Sat, 16 Oct 2004 18:19:26 +0000 (18:19 +0000)]
Add support for undef

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

20 years agoAdd support for undef, unreachable, and function flags
Chris Lattner [Sat, 16 Oct 2004 18:18:16 +0000 (18:18 +0000)]
Add support for undef, unreachable, and function flags

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

20 years agoParse undef and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:17:13 +0000 (18:17 +0000)]
Parse undef and unreachable

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

20 years agoAdd support
Chris Lattner [Sat, 16 Oct 2004 18:16:19 +0000 (18:16 +0000)]
Add support

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

20 years agoAdd support for undef and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:14:10 +0000 (18:14 +0000)]
Add support for undef and unreachable

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

20 years agoADd support for undef and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:13:47 +0000 (18:13 +0000)]
ADd support for undef and unreachable

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

20 years agoTeach the X86 backend about unreachable and undef. Among other things, we
Chris Lattner [Sat, 16 Oct 2004 18:13:05 +0000 (18:13 +0000)]
Teach the X86 backend about unreachable and undef.  Among other things, we
now compile:

'foo() {}' into "ret" instead of "mov EAX, 0; ret"

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

20 years agoAdd support for unreachable and undef
Chris Lattner [Sat, 16 Oct 2004 18:12:13 +0000 (18:12 +0000)]
Add support for unreachable and undef

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

20 years agoOptimize instructions involving undef values. For example X+undef == undef.
Chris Lattner [Sat, 16 Oct 2004 18:11:37 +0000 (18:11 +0000)]
Optimize instructions involving undef values.  For example X+undef == undef.

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

20 years agoAdd support for UndefValue
Chris Lattner [Sat, 16 Oct 2004 18:10:31 +0000 (18:10 +0000)]
Add support for UndefValue

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

20 years agoWhen promoting mem2reg, make uninitialized values become undef isntead of 0.
Chris Lattner [Sat, 16 Oct 2004 18:10:06 +0000 (18:10 +0000)]
When promoting mem2reg, make uninitialized values become undef isntead of 0.

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

20 years agoHandle undef values as undefined on the constant lattice
Chris Lattner [Sat, 16 Oct 2004 18:09:41 +0000 (18:09 +0000)]
Handle undef values as undefined on the constant lattice
ignore unreachable instructions

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

20 years agoAdd note
Chris Lattner [Sat, 16 Oct 2004 18:09:25 +0000 (18:09 +0000)]
Add note

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

20 years agoAdd support for the undef value. Implement a new optimization based on globals
Chris Lattner [Sat, 16 Oct 2004 18:09:00 +0000 (18:09 +0000)]
Add support for the undef value.  Implement a new optimization based on globals
that are initialized with undef.  When promoting malloc to a global, start out
initialized to undef

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

20 years agoAdd support for undef and unreachable
Chris Lattner [Sat, 16 Oct 2004 18:08:06 +0000 (18:08 +0000)]
Add support for undef and unreachable

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

20 years agoImplement UndefValue class
Chris Lattner [Sat, 16 Oct 2004 18:07:16 +0000 (18:07 +0000)]
Implement UndefValue class

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

20 years agoAdd support for the unreachable instruction
Chris Lattner [Sat, 16 Oct 2004 18:06:43 +0000 (18:06 +0000)]
Add support for the unreachable instruction

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

20 years agoAdd new UndefValueVal type
Chris Lattner [Sat, 16 Oct 2004 18:06:07 +0000 (18:06 +0000)]
Add new UndefValueVal type

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

20 years agoAdd new UnreachableInst class
Chris Lattner [Sat, 16 Oct 2004 18:05:54 +0000 (18:05 +0000)]
Add new UnreachableInst class

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

20 years agoAdd new unreachable instruction
Chris Lattner [Sat, 16 Oct 2004 18:05:37 +0000 (18:05 +0000)]
Add new unreachable instruction

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

20 years agoAdd new UndefValue class
Chris Lattner [Sat, 16 Oct 2004 18:05:25 +0000 (18:05 +0000)]
Add new UndefValue class

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

20 years agoUndefValue's are constants
Chris Lattner [Sat, 16 Oct 2004 18:05:10 +0000 (18:05 +0000)]
UndefValue's are constants

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

20 years agoDocument unreachable instruction
Chris Lattner [Sat, 16 Oct 2004 18:04:13 +0000 (18:04 +0000)]
Document unreachable instruction

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

20 years agoAdd missing 'Instruction Opcodes' bullet to TOC
Chris Lattner [Sat, 16 Oct 2004 18:03:55 +0000 (18:03 +0000)]
Add missing 'Instruction Opcodes' bullet to TOC
Update for changes in LLVM 1.4 bytecode format.

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

20 years agoAdd a missing dependency
Chris Lattner [Sat, 16 Oct 2004 17:12:55 +0000 (17:12 +0000)]
Add a missing dependency

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

20 years agoFix file header
Chris Lattner [Sat, 16 Oct 2004 16:37:42 +0000 (16:37 +0000)]
Fix file header

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

20 years agoBe more careful about looking for constants when we really want constantint's.
Chris Lattner [Sat, 16 Oct 2004 16:07:10 +0000 (16:07 +0000)]
Be more careful about looking for constants when we really want constantint's.

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

20 years agoNone of these have actually been implemented yet.
Chris Lattner [Sat, 16 Oct 2004 00:29:30 +0000 (00:29 +0000)]
None of these have actually been implemented yet.

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

20 years agoMove the implementation of the instructions clone methods to this file so
Chris Lattner [Fri, 15 Oct 2004 23:52:53 +0000 (23:52 +0000)]
Move the implementation of the instructions clone methods to this file so
that the vtables for these classes are only instantiated in this translation
unit, not in every xlation unit they are used.

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

20 years agoMove the implementation of the clone method for these classes to
Chris Lattner [Fri, 15 Oct 2004 23:52:05 +0000 (23:52 +0000)]
Move the implementation of the clone method for these classes to
Instructions.cpp, so that a vtable is not emitted into every translation unit
that uses the classes.

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

20 years agoFix hyphenation and quoting style for great justice
Misha Brukman [Fri, 15 Oct 2004 23:22:48 +0000 (23:22 +0000)]
Fix hyphenation and quoting style for great justice

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

20 years agoThere is no reason not to build these in parallel
Chris Lattner [Fri, 15 Oct 2004 23:22:15 +0000 (23:22 +0000)]
There is no reason not to build these in parallel

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

20 years agoAdd a space between the type and name of value when printing error message
Misha Brukman [Fri, 15 Oct 2004 23:08:50 +0000 (23:08 +0000)]
Add a space between the type and name of value when printing error message

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

20 years agoDon't print a bunch of metrics that are meaningless for external functions
Chris Lattner [Fri, 15 Oct 2004 19:40:31 +0000 (19:40 +0000)]
Don't print a bunch of metrics that are meaningless for external functions

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

20 years agoFix broken links
Chris Lattner [Fri, 15 Oct 2004 17:04:28 +0000 (17:04 +0000)]
Fix broken links

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

20 years agoInstruction select globals with offsets better. For example, on this test
Chris Lattner [Fri, 15 Oct 2004 05:05:29 +0000 (05:05 +0000)]
Instruction select globals with offsets better.  For example, on this test
case:

int C[100];
int foo() {
  return C[4];
}

We now codegen:

foo:
        mov %EAX, DWORD PTR [C + 16]
        ret

instead of:

foo:
        mov %EAX, OFFSET C
        mov %EAX, DWORD PTR [%EAX + 16]
        ret

Other impressive features may be coming later.

This patch is contributed by Jeff Cohen!

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

20 years agoGive the X86 JIT the ability to encode global+disp constants. Patch
Chris Lattner [Fri, 15 Oct 2004 04:53:13 +0000 (04:53 +0000)]
Give the X86 JIT the ability to encode global+disp constants.  Patch
contributed by Jeff Cohen!

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

20 years agoGive the X86 asm printer the ability to print out addressing modes that have
Chris Lattner [Fri, 15 Oct 2004 04:44:53 +0000 (04:44 +0000)]
Give the X86 asm printer the ability to print out addressing modes that have
constant displacements from global variables.  Patch by Jeff Cohen!

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

20 years agoAllow X86 addressing modes to represent globals with offsets. Patch contributed
Chris Lattner [Fri, 15 Oct 2004 04:43:20 +0000 (04:43 +0000)]
Allow X86 addressing modes to represent globals with offsets.  Patch contributed
by Jeff Cohen!

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

20 years agoAllow machine operands to represent global variables with offsets. This is
Chris Lattner [Fri, 15 Oct 2004 04:38:41 +0000 (04:38 +0000)]
Allow machine operands to represent global variables with offsets.  This is
useful when you have a reference like:

int A[100];

void foo() { A[10] = 1; }

In this case, &A[10] is a single constant and should be treated as such.

Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no
other operand type is.

This is another fine patch contributed by Jeff Cohen!!

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

20 years agoThis patch fixes the nasty bug that caused 175.vpr to fail for X86 last night.
Chris Lattner [Fri, 15 Oct 2004 03:19:31 +0000 (03:19 +0000)]
This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night.

The problem occurred when trying to reload this instruction:

MOV32mr %reg2326, 8, %reg2297, 4, %reg2295

The value of reg2326 was available in EBX, so it was reused from there, instead
of reloading it into EDX.

The value of reg2297 was available in EDX, so it was reused from there, instead
of reloading it into EDI.

The value of reg2295 was not available, so we tried reloading it into EBX, its
assigned register.  However, we checked and saw that we already reloaded
something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded
into that register instead.

Unfortunately EDX had already been used by reg2297, so reloading into EDX
clobbered the value used by the reg2326 operand, breaking the program.

The fix for this is to check that the newly picked register is ok.  In this
case we now find that EDX is already used and try using EDI, which succeeds.

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

20 years agoThis patch adds and improves debugging output. No functionality changes.
Chris Lattner [Fri, 15 Oct 2004 03:16:29 +0000 (03:16 +0000)]
This patch adds and improves debugging output.  No functionality changes.

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

20 years agoBetter codegen of binary integer ops with 32 bit immediate operands.
Nate Begeman [Fri, 15 Oct 2004 00:50:19 +0000 (00:50 +0000)]
Better codegen of binary integer ops with 32 bit immediate operands.
This transformation fires a few dozen times across the testsuite.

For example, int test2(int X) { return X ^ 0x0FF00FF0; }
Old:
_test2:
        lis r2, 4080
        ori r2, r2, 4080
        xor r3, r3, r2
        blr

New:
_test2:
        xoris r3, r3, 4080
        xori r3, r3, 4080
        blr

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

20 years agoThe field is called `imm22', not simply `imm'
Misha Brukman [Thu, 14 Oct 2004 22:33:32 +0000 (22:33 +0000)]
The field is called `imm22', not simply `imm'

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

20 years agoSynthetic instructions RET and RETL need to have all 3 parameters specified
Misha Brukman [Thu, 14 Oct 2004 22:32:49 +0000 (22:32 +0000)]
Synthetic instructions RET and RETL need to have all 3 parameters specified

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

20 years agoClass F2_1 already inherits the imm22 field from class F2
Misha Brukman [Thu, 14 Oct 2004 22:32:24 +0000 (22:32 +0000)]
Class F2_1 already inherits the imm22 field from class F2

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

20 years agoGenerate the SparcV8 code emitter from .td files
Misha Brukman [Thu, 14 Oct 2004 21:57:19 +0000 (21:57 +0000)]
Generate the SparcV8 code emitter from .td files

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

20 years ago* In the F3_1 class, default asi to 0 because it's not currently used
Misha Brukman [Thu, 14 Oct 2004 21:53:39 +0000 (21:53 +0000)]
* In the F3_1 class, default asi to 0 because it's not currently used
* In the F3_3 class, remove mention of asi because it's not part of the format

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

20 years ago* We don't use the ENABLE_*_JIT flags in the source base anymore
Misha Brukman [Thu, 14 Oct 2004 20:06:36 +0000 (20:06 +0000)]
* We don't use the ENABLE_*_JIT flags in the source base anymore
* Convert references to Sparc to SparcV9 to clearly identify CPU type

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

20 years agoFix a bug John tracked down in libstdc++ where we were incorrectly deleting
Chris Lattner [Thu, 14 Oct 2004 19:53:50 +0000 (19:53 +0000)]
Fix a bug John tracked down in libstdc++ where we were incorrectly deleting
weak functions.  Thanks for finding this John!

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

20 years agoAdd FSTOI, FDTOI (fp to integer cast) instructions.
Brian Gaeke [Thu, 14 Oct 2004 19:39:35 +0000 (19:39 +0000)]
Add FSTOI, FDTOI (fp to integer cast) instructions.

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

20 years agoRewrite emitCastOperation, refactoring parts of it into emitIntegerCast, and
Brian Gaeke [Thu, 14 Oct 2004 19:39:34 +0000 (19:39 +0000)]
Rewrite emitCastOperation, refactoring parts of it into emitIntegerCast, and
adding emitFPToIntegerCast.

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

20 years agoAdd list of libc procedures we'll use, at some point.
Brian Gaeke [Thu, 14 Oct 2004 19:39:33 +0000 (19:39 +0000)]
Add list of libc procedures we'll use, at some point.
Update list of currently failing tests.
ADJCALLSTACK* support is done.

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

20 years agoUse the shared Makefile.JIT for JIT-enablement, which also enables the examples
Misha Brukman [Thu, 14 Oct 2004 19:02:13 +0000 (19:02 +0000)]
Use the shared Makefile.JIT for JIT-enablement, which also enables the examples
to have the JIT functioning on more platforms than just x86

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

20 years agoUse the shared Makefile.JIT for JIT-enablement
Misha Brukman [Thu, 14 Oct 2004 19:01:25 +0000 (19:01 +0000)]
Use the shared Makefile.JIT for JIT-enablement

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

20 years agoAdd Makefile.JIT to the list of Makefiles transferred to the build dir to give
Misha Brukman [Thu, 14 Oct 2004 18:59:42 +0000 (18:59 +0000)]
Add Makefile.JIT to the list of Makefiles transferred to the build dir to give
tools and examples a simple way to JIT-enable themselves

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

20 years agoTransfer Makefile.JIT into the build tree for JIT-enabling tools and examples
Misha Brukman [Thu, 14 Oct 2004 18:59:09 +0000 (18:59 +0000)]
Transfer Makefile.JIT into the build tree for JIT-enabling tools and examples

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

20 years agoSince several tools and examples want JIT support, factor out the process of
Misha Brukman [Thu, 14 Oct 2004 18:58:19 +0000 (18:58 +0000)]
Since several tools and examples want JIT support, factor out the process of
adding the right libs for any given architecture's JIT into a single place

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

20 years agoConvert tabs to spaces
Misha Brukman [Thu, 14 Oct 2004 18:47:56 +0000 (18:47 +0000)]
Convert tabs to spaces

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

20 years agoMake sure any client of Dominators.h links in Dominators.cpp
Chris Lattner [Thu, 14 Oct 2004 15:47:16 +0000 (15:47 +0000)]
Make sure any client of Dominators.h links in Dominators.cpp
Patch by Morten Ofstad

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

20 years agoMake sure any client of Dominators.h links in Dominators.cpp
Chris Lattner [Thu, 14 Oct 2004 15:46:59 +0000 (15:46 +0000)]
Make sure any client of Dominators.h links in Dominators.cpp

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

20 years agoDo not use the same variable name for two different variables in the
Chris Lattner [Thu, 14 Oct 2004 14:59:16 +0000 (14:59 +0000)]
Do not use the same variable name for two different variables in the
same scope.  This confused VC++ (and probably people too!).  Patch by
Morten Ofstad!

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

20 years agoRemove unneeded typedef, patch by Morten Ofstad
Chris Lattner [Thu, 14 Oct 2004 14:51:09 +0000 (14:51 +0000)]
Remove unneeded typedef, patch by Morten Ofstad

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

20 years ago* Claim to support machine code emission - return false from
Misha Brukman [Thu, 14 Oct 2004 06:39:56 +0000 (06:39 +0000)]
* Claim to support machine code emission - return false from
  addPassesToEmitMachineCode()
* Add support for registers and constants in getMachineOpValue()

This enables running "int main() { ret 0 }" via the PowerPC JIT.

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

20 years agoEnable the PowerPC JIT by compiling powerpc.o library into lli
Misha Brukman [Thu, 14 Oct 2004 06:35:11 +0000 (06:35 +0000)]
Enable the PowerPC JIT by compiling powerpc.o library into lli

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

20 years ago* Include the real (generated) version of getBinaryCodeForInstr()
Misha Brukman [Thu, 14 Oct 2004 06:07:25 +0000 (06:07 +0000)]
* Include the real (generated) version of getBinaryCodeForInstr()
* Add implementation of getMachineOpValue() for generated code emitter
* Convert assert()s in unimplemented functions to abort()s so that non-debug
  builds fail predictably
* Add file header comments

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

20 years ago* Make a PPC32-specific code emitter because we have separate classes for 32-
Misha Brukman [Thu, 14 Oct 2004 06:04:56 +0000 (06:04 +0000)]
* Make a PPC32-specific code emitter because we have separate classes for 32-
  and 64-bit code emitters that cannot share code unless we use virtual
  functions
* Identify components being built by tablegen with more detail by assigning them
  to PowerPC, PPC32, or PPC64 more specifically; also avoids seeing 'building
  PowerPC XYZ' messages twice, where one is for PPC32 and one for PPC64

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

20 years agoChecking in code that works on my simple test case. However, there is still a bug...
Tanya Lattner [Thu, 14 Oct 2004 06:04:28 +0000 (06:04 +0000)]
Checking in code that works on my simple test case. However, there is still a bug with branches that I need to fix.

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

20 years agoThere is only one field in an instruction, and that is `Inst', the final view of
Misha Brukman [Thu, 14 Oct 2004 05:55:37 +0000 (05:55 +0000)]
There is only one field in an instruction, and that is `Inst', the final view of
the instruction binary format, all others are simply operands and should not
have the `field' label

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

20 years agoPowerPC instruction definitions use LittleEndian-style encoding [0..31]
Misha Brukman [Thu, 14 Oct 2004 05:54:38 +0000 (05:54 +0000)]
PowerPC instruction definitions use LittleEndian-style encoding [0..31]

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

20 years agoAdd isLittleEndianEncoding to InstrInfo class, defaults to `off'
Misha Brukman [Thu, 14 Oct 2004 05:53:40 +0000 (05:53 +0000)]
Add isLittleEndianEncoding to InstrInfo class, defaults to `off'

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

20 years ago* Factor out (into new fn) a loop emitting operand shifts into the instruction
Misha Brukman [Thu, 14 Oct 2004 05:53:01 +0000 (05:53 +0000)]
* Factor out (into new fn) a loop emitting operand shifts into the instruction
* Reverse instruction bit components for a LittleEndian-style encoding
* Fix some comments and spacing

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

20 years ago* Add option to read isLittleEndianEncoding for InstrInfo classes
Misha Brukman [Thu, 14 Oct 2004 05:50:43 +0000 (05:50 +0000)]
* Add option to read isLittleEndianEncoding for InstrInfo classes
* Doxygen-ify some function comments

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

20 years agoWhen converting phi nodes into select instructions, we shouldn't promote PHI
Chris Lattner [Thu, 14 Oct 2004 05:13:36 +0000 (05:13 +0000)]
When converting phi nodes into select instructions, we shouldn't promote PHI
nodes unless we KNOW that we are able to promote all of them.

This fixes: test/Regression/Transforms/SimplifyCFG/PhiNoEliminate.ll

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

20 years agoWhen converting phi nodes into select instructions, we shouldn't promote PHI
Chris Lattner [Thu, 14 Oct 2004 05:12:50 +0000 (05:12 +0000)]
When converting phi nodes into select instructions, we shouldn't promote PHI
nodes unless we KNOW that we are able to promote all of them.  In this case
promoting the phi to a select is silly because we will always have to do the
call conditionally.  As such, select promotion is actually a pessimization.

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

20 years agoAllow this file to compile on Darwin.
Reid Spencer [Thu, 14 Oct 2004 03:33:25 +0000 (03:33 +0000)]
Allow this file to compile on Darwin.

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

20 years agoUse __MINGW instead of __MING. Patch contributed by Henrik Bach.
Reid Spencer [Thu, 14 Oct 2004 03:09:02 +0000 (03:09 +0000)]
Use __MINGW instead of __MING. Patch contributed by Henrik Bach.

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

20 years agoGet proper BSD #includes for MappedFile implementation.
Reid Spencer [Thu, 14 Oct 2004 03:06:59 +0000 (03:06 +0000)]
Get proper BSD #includes for MappedFile implementation.

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

20 years agoImplementation of MappedFile for Win32. Patch provided by Jeff Cohen.
Reid Spencer [Thu, 14 Oct 2004 03:05:59 +0000 (03:05 +0000)]
Implementation of MappedFile for Win32. Patch provided by Jeff Cohen.

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

20 years agoToday is not my day. Fix broken #
Chris Lattner [Thu, 14 Oct 2004 02:31:35 +0000 (02:31 +0000)]
Today is not my day.  Fix broken #

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

20 years agounbreak previous checkin :(
Chris Lattner [Thu, 14 Oct 2004 02:06:48 +0000 (02:06 +0000)]
unbreak previous checkin :(

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

20 years agoAdd back a missing paren
Chris Lattner [Thu, 14 Oct 2004 01:57:28 +0000 (01:57 +0000)]
Add back a missing paren

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

20 years agoFit to 80 cols
Chris Lattner [Thu, 14 Oct 2004 01:49:34 +0000 (01:49 +0000)]
Fit to 80 cols

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

20 years agoWrap to 80 cols, delete some seriously old debugging printouts
Chris Lattner [Thu, 14 Oct 2004 01:46:07 +0000 (01:46 +0000)]
Wrap to 80 cols, delete some seriously old debugging printouts

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

20 years agoFit in 80 columns
Chris Lattner [Thu, 14 Oct 2004 01:39:18 +0000 (01:39 +0000)]
Fit in 80 columns

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

20 years agoMinor cleanups
Chris Lattner [Thu, 14 Oct 2004 01:35:17 +0000 (01:35 +0000)]
Minor cleanups

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

20 years agoPatch to make VS happier, thanks to Morten Ofstad for pointing this out.
Chris Lattner [Wed, 13 Oct 2004 15:25:46 +0000 (15:25 +0000)]
Patch to make VS happier, thanks to Morten Ofstad for pointing this out.

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

20 years agoUse explicit std:: qualification to avoid relying on Koenig lookup, which
Chris Lattner [Wed, 13 Oct 2004 15:11:23 +0000 (15:11 +0000)]
Use explicit std:: qualification to avoid relying on Koenig lookup, which
VC++ does not do properly.  Thanks to Morten Ofstad for the patch!

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

20 years agoGet rid of template templates that were preventing VC from compiling the
Chris Lattner [Wed, 13 Oct 2004 15:09:21 +0000 (15:09 +0000)]
Get rid of template templates that were preventing VC from compiling the
set_intersect template.  Thanks to Morten Ofstad and Jeff Cohen for the
patch!

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

20 years agoChanges for automake.
Reid Spencer [Wed, 13 Oct 2004 11:56:07 +0000 (11:56 +0000)]
Changes for automake.

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

20 years agoSet up BUILD_MODE based on the configuration so the default build mode
Reid Spencer [Wed, 13 Oct 2004 11:53:12 +0000 (11:53 +0000)]
Set up BUILD_MODE based on the configuration so the default build mode
is established from configuration. Also, don't make the ENABLE_ options
AM_CONDITIONALs.

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

20 years agoUpdates for changes in Makefile rules.
Reid Spencer [Wed, 13 Oct 2004 11:48:50 +0000 (11:48 +0000)]
Updates for changes in Makefile rules.

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

20 years agoUpdate to reflect changes in Makefile rules.
Reid Spencer [Wed, 13 Oct 2004 11:46:52 +0000 (11:46 +0000)]
Update to reflect changes in Makefile rules.

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

20 years agoGet rid of the horrendous FIND_PATH macro, have libs and progs linked into
Reid Spencer [Wed, 13 Oct 2004 11:39:51 +0000 (11:39 +0000)]
Get rid of the horrendous FIND_PATH macro, have libs and progs linked into
a common directory for simplicity. Provide an easy way to relink some
objects

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

20 years agoUpdate doco, make doxygen more, use standard dividers.
Chris Lattner [Wed, 13 Oct 2004 04:44:53 +0000 (04:44 +0000)]
Update doco, make doxygen more, use standard dividers.

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