oota-llvm.git
18 years agoOnly reuse a previous IV if it would not require a type conversion.
Evan Cheng [Tue, 18 Jul 2006 19:07:58 +0000 (19:07 +0000)]
Only reuse a previous IV if it would not require a type conversion.

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

18 years agoFix an accidentally duplicated line that caused tblgen to crash on itanium.
Chris Lattner [Tue, 18 Jul 2006 19:06:01 +0000 (19:06 +0000)]
Fix an accidentally duplicated line that caused tblgen to crash on itanium.
Add an assert that catches the real problem earlier.

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

18 years agoMaximally group commands. When all instructions within a command set have a
Chris Lattner [Tue, 18 Jul 2006 18:28:27 +0000 (18:28 +0000)]
Maximally group commands.  When all instructions within a command set have a
series of identical commands, handle them all with one switch.  In the case
of the x86 at&t asm printer, only 3 switches are needed for all instructions.

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

18 years agoChange generator to remove operands as it processes them. No change in
Chris Lattner [Tue, 18 Jul 2006 17:56:07 +0000 (17:56 +0000)]
Change generator to remove operands as it processes them.  No change in
generated file.

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

18 years agoHandle the last operand more intelligently. When emitting the \n, also
Chris Lattner [Tue, 18 Jul 2006 17:50:22 +0000 (17:50 +0000)]
Handle the last operand more intelligently.  When emitting the \n, also
return from the asmprinter to make the generated asmprinter both more
efficient and smaller.

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

18 years agoEmit switches with 1/2 cases as unconditional code or an if/then/else for
Chris Lattner [Tue, 18 Jul 2006 17:43:54 +0000 (17:43 +0000)]
Emit switches with 1/2 cases as unconditional code or an if/then/else for
tidyness.

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

18 years agoSteal bits from the asm string index to use for operand information. On both
Chris Lattner [Tue, 18 Jul 2006 17:38:46 +0000 (17:38 +0000)]
Steal bits from the asm string index to use for operand information.  On both
x86 and ppc, this gets us 4 more bits to play with, since the string indices
both only use 12 bits.

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

18 years agoMerge operand info and asmstr idx into a single 32-bit field. No other change.
Chris Lattner [Tue, 18 Jul 2006 17:32:27 +0000 (17:32 +0000)]
Merge operand info and asmstr idx into a single 32-bit field.  No other change.

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

18 years agoMinor output changes.
Patrick Jenkins [Tue, 18 Jul 2006 17:21:30 +0000 (17:21 +0000)]
Minor output changes.

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

18 years agoCompletely change the structure of the generated asmprinter to be more table
Chris Lattner [Tue, 18 Jul 2006 17:18:03 +0000 (17:18 +0000)]
Completely change the structure of the generated asmprinter to be more table
based and less switch-statements-with-hundreds-of-cases based.  This shrinks
the x86 asmprinters to about 1/3 their previous size.

Other improvements coming.

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

18 years agoinitial prologue and epilogue implementation. Need to define add and sub before finis...
Rafael Espindola [Tue, 18 Jul 2006 17:00:30 +0000 (17:00 +0000)]
initial prologue and epilogue implementation. Need to define add and sub before finishing it :-)

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

18 years agoMake the implicit def instructions look like other instrs.
Chris Lattner [Tue, 18 Jul 2006 16:33:26 +0000 (16:33 +0000)]
Make the implicit def instructions look like other instrs.

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

18 years agosimple optimization: don't bother calling "exists" (which calls the syscall
Chris Lattner [Tue, 18 Jul 2006 07:07:51 +0000 (07:07 +0000)]
simple optimization: don't bother calling "exists" (which calls the syscall
"access").  Instead, just let the open call fail if the file doesn't exist.
This reduces the # syscalls executed.

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

18 years agoRemove a dead conditional: info_ can only be allocated if FD is good. Improve
Chris Lattner [Tue, 18 Jul 2006 07:03:14 +0000 (07:03 +0000)]
Remove a dead conditional: info_ can only be allocated if FD is good.  Improve
spacing

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

18 years agoThe only entry in the stat buf this code cares about is the size. Keep just
Chris Lattner [Tue, 18 Jul 2006 07:01:08 +0000 (07:01 +0000)]
The only entry in the stat buf this code cares about is the size.  Keep just
the size, not the whole stat buffer.

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

18 years agoReduce code in the error path by only allocating info_ if everything looks
Chris Lattner [Tue, 18 Jul 2006 06:57:51 +0000 (06:57 +0000)]
Reduce code in the error path by only allocating info_ if everything looks
good.

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

18 years agoUnindent some code
Chris Lattner [Tue, 18 Jul 2006 06:52:52 +0000 (06:52 +0000)]
Unindent some code

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

18 years agoAdd functions to compute ceil(log2(N)) to match functions for floor(log2(N))
Chris Lattner [Tue, 18 Jul 2006 00:47:10 +0000 (00:47 +0000)]
Add functions to compute ceil(log2(N)) to match functions for floor(log2(N))

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

18 years agoReduce the size of Constants.o by 25% by generalizing specific instantiations of
Jim Laskey [Mon, 17 Jul 2006 17:38:29 +0000 (17:38 +0000)]
Reduce the size of Constants.o by 25% by generalizing specific instantiations of
std::map.

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

18 years agoIf a gccpath is specified when invoking the nightly test script we will hopefully...
Patrick Jenkins [Mon, 17 Jul 2006 16:41:19 +0000 (16:41 +0000)]
If a gccpath is specified when invoking the nightly test script we will hopefully now use that gcc for the gcc version. Also fixed some 80 char column stuff.

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

18 years agoUse __attribute__((noinline)) only if compiled by gcc.
Evan Cheng [Sun, 16 Jul 2006 06:14:37 +0000 (06:14 +0000)]
Use __attribute__((noinline)) only if compiled by gcc.

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

18 years agoParameterize target node ValueType to allow more sharing of emit functions.
Evan Cheng [Sun, 16 Jul 2006 06:12:52 +0000 (06:12 +0000)]
Parameterize target node ValueType to allow more sharing of emit functions.
Also reduce the number of arguments passed to emit functions and removed a
hack.

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

18 years agoskeleton of a lowerCall implementation for ARM
Rafael Espindola [Sun, 16 Jul 2006 01:02:57 +0000 (01:02 +0000)]
skeleton of a lowerCall implementation for ARM

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

18 years agoReduce instruction selection code size and stack frame size by factoring
Evan Cheng [Sat, 15 Jul 2006 08:45:20 +0000 (08:45 +0000)]
Reduce instruction selection code size and stack frame size by factoring
code that emit target specific nodes into emit functions that are uniquified
and shared among selection routines.
e.g. This reduces X86ISelDAGToDAG.o (release) from ~2M to ~1.5M. Stack frame
size of Select_store from ~13k down to ~8k.
This is the first step. Further work to enable more sharing will follow.

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

18 years agoOn 64-bit targets like ppc64, we should use .quad to output pointer directives,
Chris Lattner [Sat, 15 Jul 2006 01:34:12 +0000 (01:34 +0000)]
On 64-bit targets like ppc64, we should use .quad to output pointer directives,
not .long.

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

18 years agoRemove what little AIX support we have. It has never been tested and isn't
Chris Lattner [Sat, 15 Jul 2006 01:24:23 +0000 (01:24 +0000)]
Remove what little AIX support we have.  It has never been tested and isn't
complete.

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

18 years agoThe generated index array should be const.
Chris Lattner [Fri, 14 Jul 2006 23:14:02 +0000 (23:14 +0000)]
The generated index array should be const.

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

18 years agoAdd an out-of-line virtual function to home class.
Chris Lattner [Fri, 14 Jul 2006 23:08:47 +0000 (23:08 +0000)]
Add an out-of-line virtual function to home class.

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

18 years agoAdd an out-of-line virtual method for X86DwarfWriter to give it a home.
Chris Lattner [Fri, 14 Jul 2006 23:05:05 +0000 (23:05 +0000)]
Add an out-of-line virtual method for X86DwarfWriter to give it a home.

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

18 years agoEmit the string information for the asm writer as a single large string
Chris Lattner [Fri, 14 Jul 2006 22:59:11 +0000 (22:59 +0000)]
Emit the string information for the asm writer as a single large string
and index into it, instead of emitting it like this:

  static const char * const OpStrs[] = {
    "PHINODE\n",        // PHI
    0,  // INLINEASM
    "adc ",     // ADC32mi
    "adc ",     // ADC32mi8
   ...

The old way required thousands of relocations that slows down link time and
dynamic load times.

This also cuts about 10K off each of the X86 asmprinters, and should shrink
the others as well.

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

18 years agoAdd two helpers for escaping and unescaping strings.
Chris Lattner [Fri, 14 Jul 2006 22:54:39 +0000 (22:54 +0000)]
Add two helpers for escaping and unescaping strings.

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

18 years agoAdd two helper functions
Chris Lattner [Fri, 14 Jul 2006 22:54:06 +0000 (22:54 +0000)]
Add two helper functions

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

18 years agoeliminate some ugly code, using ConstantExpr::getWithOperands instead.
Chris Lattner [Fri, 14 Jul 2006 22:21:31 +0000 (22:21 +0000)]
eliminate some ugly code, using ConstantExpr::getWithOperands instead.

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

18 years agoAdd a new helper, simplify ConstantExpr::getWithOperandReplaced at Gabor's
Chris Lattner [Fri, 14 Jul 2006 22:20:01 +0000 (22:20 +0000)]
Add a new helper, simplify ConstantExpr::getWithOperandReplaced at Gabor's
request :)

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

18 years agoAdd another helper method.
Chris Lattner [Fri, 14 Jul 2006 22:19:18 +0000 (22:19 +0000)]
Add another helper method.

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

18 years agoFixed an issue where the user specified gcc was not the gcc we report to the nightly...
Patrick Jenkins [Fri, 14 Jul 2006 20:44:09 +0000 (20:44 +0000)]
Fixed an issue where the user specified gcc was not the gcc we report to the nightly test server.

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

18 years agoAdd a new method for bugpoint to use
Chris Lattner [Fri, 14 Jul 2006 19:37:40 +0000 (19:37 +0000)]
Add a new method for bugpoint to use

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

18 years agoAdd a new method for bugpoint to use.
Chris Lattner [Fri, 14 Jul 2006 19:37:01 +0000 (19:37 +0000)]
Add a new method for bugpoint to use.

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

18 years agoHopefully the final attempt at making IndVars preserve LCSSA.
Owen Anderson [Fri, 14 Jul 2006 18:49:15 +0000 (18:49 +0000)]
Hopefully the final attempt at making IndVars preserve LCSSA.

This should fix PR 831.

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

18 years agoAdd missing PPC64 extload/truncstores
Chris Lattner [Fri, 14 Jul 2006 04:42:02 +0000 (04:42 +0000)]
Add missing PPC64 extload/truncstores

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

18 years agoAdd a note
Chris Lattner [Fri, 14 Jul 2006 04:07:29 +0000 (04:07 +0000)]
Add a note

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

18 years agoBring the Xcode project up to date.
Jim Laskey [Thu, 13 Jul 2006 22:17:58 +0000 (22:17 +0000)]
Bring the Xcode project up to date.

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

18 years agoClean up.
Jim Laskey [Thu, 13 Jul 2006 22:17:08 +0000 (22:17 +0000)]
Clean up.

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

18 years agoAnother fix in the rotate encodings, needed when the first two operands are not
Chris Lattner [Thu, 13 Jul 2006 21:52:41 +0000 (21:52 +0000)]
Another fix in the rotate encodings, needed when the first two operands are not
the same.

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

18 years ago1. Simplfy bit operations.
Jim Laskey [Thu, 13 Jul 2006 21:02:53 +0000 (21:02 +0000)]
1. Simplfy bit operations.
2. Coalesce instruction cases.

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

18 years agoRevert this patch temporarily until PR831 is fixed.
Chris Lattner [Thu, 13 Jul 2006 19:05:20 +0000 (19:05 +0000)]
Revert this patch temporarily until PR831 is fixed.

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

18 years agoSyntax error. I will run perl -c before commiting perl scripts.
Patrick Jenkins [Thu, 13 Jul 2006 16:58:42 +0000 (16:58 +0000)]
Syntax error. I will run perl -c before commiting perl scripts.

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

18 years agoFixed some small bugs exposed when trying to get a sparc machine to run the script...
Patrick Jenkins [Thu, 13 Jul 2006 16:56:48 +0000 (16:56 +0000)]
Fixed some small bugs exposed when trying to get a sparc machine to run the script. Specifically some misnamed variables.

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

18 years agoFixed a bug handling void function types.
Jim Laskey [Thu, 13 Jul 2006 15:27:42 +0000 (15:27 +0000)]
Fixed a bug handling void function types.
Requires rebuild of llvm-gcc4 (touch llvm-debug.cpp.)

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

18 years agoPrint negative immediates as negative values instead of large constants
Chris Lattner [Wed, 12 Jul 2006 23:24:02 +0000 (23:24 +0000)]
Print negative immediates as negative values instead of large constants
when using the immshifted addressing mode.

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

18 years agoTurn an if into an else if.
Chris Lattner [Wed, 12 Jul 2006 22:37:18 +0000 (22:37 +0000)]
Turn an if into an else if.

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

18 years agoFix encoding of rotates, such as rldicl
Chris Lattner [Wed, 12 Jul 2006 22:08:13 +0000 (22:08 +0000)]
Fix encoding of rotates, such as rldicl

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

18 years agoHandle instructions in the map, but that map to a null pointer.
Chris Lattner [Wed, 12 Jul 2006 21:37:11 +0000 (21:37 +0000)]
Handle instructions in the map, but that map to a null pointer.
This unbreaks smg2000.

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

18 years agoIndVars now (correctly) preserves LCSSA form.
Owen Anderson [Wed, 12 Jul 2006 21:29:14 +0000 (21:29 +0000)]
IndVars now (correctly) preserves LCSSA form.

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

18 years agoImplement PPC64 relocations types
Chris Lattner [Wed, 12 Jul 2006 21:23:20 +0000 (21:23 +0000)]
Implement PPC64 relocations types

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

18 years agoAn overaggressive #ifdef allows a function to fall off the bottom of the
Chris Lattner [Wed, 12 Jul 2006 20:42:10 +0000 (20:42 +0000)]
An overaggressive #ifdef allows a function to fall off the bottom of the
function instead of returning a value.  This sometimes allowed the ppc32 jit
to be used in 64-bit mode.

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

18 years agoMove base value of instruction to lookup table to prepare for case reduction.
Jim Laskey [Wed, 12 Jul 2006 19:15:43 +0000 (19:15 +0000)]
Move base value of instruction to lookup table to prepare for case reduction.

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

18 years agoIn addition to deleting calls, the inliner can constant fold them as well.
Chris Lattner [Wed, 12 Jul 2006 18:37:18 +0000 (18:37 +0000)]
In addition to deleting calls, the inliner can constant fold them as well.
Handle this case, which doesn't require a new callgraph edge.  This fixes
a crash compiling MallocBench/gs.

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

18 years agoChange the callgraph representation to store the callsite along with the
Chris Lattner [Wed, 12 Jul 2006 18:29:36 +0000 (18:29 +0000)]
Change the callgraph representation to store the callsite along with the
target CG node.  This allows the inliner to properly update the callgraph
when using the pruning inliner.  The pruning inliner may not copy over all
call sites from a callee to a caller, so the edges corresponding to those
call sites should not be copied over either.

This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll

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

18 years agotestcase for PR827
Chris Lattner [Wed, 12 Jul 2006 18:27:13 +0000 (18:27 +0000)]
testcase for PR827

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

18 years agoAdd information preventing several register class constraints from working.
Chris Lattner [Wed, 12 Jul 2006 16:59:49 +0000 (16:59 +0000)]
Add information preventing several register class constraints from working.
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll

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

18 years agoTestcase for PR828.
Chris Lattner [Wed, 12 Jul 2006 16:59:09 +0000 (16:59 +0000)]
Testcase for PR828.

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

18 years agoFix test failure on non-Apple systems.
Evan Cheng [Wed, 12 Jul 2006 06:48:47 +0000 (06:48 +0000)]
Fix test failure on non-Apple systems.

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

18 years agoRemove non-portable optimization that isn't worth it
Chris Lattner [Wed, 12 Jul 2006 00:31:47 +0000 (00:31 +0000)]
Remove non-portable optimization that isn't worth it

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

18 years agoThe PPC64 JIT needs register numbers to encode instructions.
Chris Lattner [Tue, 11 Jul 2006 20:53:55 +0000 (20:53 +0000)]
The PPC64 JIT needs register numbers to encode instructions.

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

18 years agoRevamp this doc to be accurate w.r.t. building llvmgcc4
Chris Lattner [Tue, 11 Jul 2006 20:47:00 +0000 (20:47 +0000)]
Revamp this doc to be accurate w.r.t. building llvmgcc4

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

18 years agoFix PR826, testcase here: Regression/Verifier/2006-07-11-StoreStruct.ll
Chris Lattner [Tue, 11 Jul 2006 20:29:49 +0000 (20:29 +0000)]
Fix PR826, testcase here: Regression/Verifier/2006-07-11-StoreStruct.ll

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

18 years agoTestcase for PR826
Chris Lattner [Tue, 11 Jul 2006 20:29:21 +0000 (20:29 +0000)]
Testcase for PR826

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

18 years agoEmit inc / dec of registers as one byte instruction.
Evan Cheng [Tue, 11 Jul 2006 19:49:49 +0000 (19:49 +0000)]
Emit inc / dec of registers as one byte instruction.

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

18 years agoProfile builds should always have debug info enabled.
Chris Lattner [Tue, 11 Jul 2006 18:33:50 +0000 (18:33 +0000)]
Profile builds should always have debug info enabled.

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

18 years agoSilence a warning produced in assertions-disabled mode
Chris Lattner [Tue, 11 Jul 2006 18:31:26 +0000 (18:31 +0000)]
Silence a warning produced in assertions-disabled mode

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

18 years agoFix typo.
Devang Patel [Tue, 11 Jul 2006 18:25:57 +0000 (18:25 +0000)]
Fix typo.

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

18 years agoIt was pointed out that DEBUG() is only available with -debug.
Jim Laskey [Tue, 11 Jul 2006 18:25:13 +0000 (18:25 +0000)]
It was pointed out that DEBUG() is only available with -debug.

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

18 years agoEnsure that dump calls that are associated with asserts are removed from
Jim Laskey [Tue, 11 Jul 2006 17:58:07 +0000 (17:58 +0000)]
Ensure that dump calls that are associated with asserts are removed from
non-debug build.

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

18 years ago1. Support for c++ mangled names.
Jim Laskey [Tue, 11 Jul 2006 15:58:09 +0000 (15:58 +0000)]
1. Support for c++ mangled names.
2. Support for private/protected class members.

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

18 years agoadd the memri memory operand
Rafael Espindola [Tue, 11 Jul 2006 11:36:48 +0000 (11:36 +0000)]
add the memri memory operand
this makes it possible for ldr instructions with non-zero immediate

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

18 years agoRevert my indvars changes because they were breaking things. Unfortunately this
Owen Anderson [Tue, 11 Jul 2006 07:25:33 +0000 (07:25 +0000)]
Revert my indvars changes because they were breaking things.  Unfortunately this
didn't start showing up until after the recent instcombine fixes.

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

18 years agoImplement the inline asm 'A' constraint. This implements PR825 and
Chris Lattner [Tue, 11 Jul 2006 02:54:03 +0000 (02:54 +0000)]
Implement the inline asm 'A' constraint.  This implements PR825 and
CodeGen/X86/2006-07-10-InlineAsmAConstraint.ll

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

18 years agoNew testcase for PR825.
Chris Lattner [Tue, 11 Jul 2006 02:52:37 +0000 (02:52 +0000)]
New testcase for PR825.

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

18 years agoFix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.
Chris Lattner [Tue, 11 Jul 2006 01:40:09 +0000 (01:40 +0000)]
Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.

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

18 years agoThis is fixed
Chris Lattner [Tue, 11 Jul 2006 01:39:30 +0000 (01:39 +0000)]
This is fixed

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

18 years agoReduce bloat in target libraries by removing per machine instruction assertion
Jim Laskey [Tue, 11 Jul 2006 01:25:59 +0000 (01:25 +0000)]
Reduce bloat in target libraries by removing per machine instruction assertion
from code emitter generation.

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

18 years agoIn 64-bit mode, 64-bit GPRs are callee saved, not 32-bit ones.
Chris Lattner [Tue, 11 Jul 2006 00:48:23 +0000 (00:48 +0000)]
In 64-bit mode, 64-bit GPRs are callee saved, not 32-bit ones.

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

18 years agoAdd a comment, and fix a typo that broke the build.
Owen Anderson [Mon, 10 Jul 2006 22:15:25 +0000 (22:15 +0000)]
Add a comment, and fix a typo that broke the build.

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

18 years agoDon't indent the entire function.
Owen Anderson [Mon, 10 Jul 2006 22:03:18 +0000 (22:03 +0000)]
Don't indent the entire function.

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

18 years agoUpdate.
Evan Cheng [Mon, 10 Jul 2006 21:49:09 +0000 (21:49 +0000)]
Update.

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

18 years agoNew entry.
Evan Cheng [Mon, 10 Jul 2006 21:42:16 +0000 (21:42 +0000)]
New entry.

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

18 years agoFixed stack objects do not specify alignments, but their offsets are known.
Evan Cheng [Mon, 10 Jul 2006 21:37:44 +0000 (21:37 +0000)]
Fixed stack objects do not specify alignments, but their offsets are known.
Use that information when doing the transformation to merge multiple loads
into a 128-bit load.

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

18 years agoImplement Regression/CodeGen/PowerPC/bswap-load-store.ll by folding bswaps
Chris Lattner [Mon, 10 Jul 2006 20:56:58 +0000 (20:56 +0000)]
Implement Regression/CodeGen/PowerPC/bswap-load-store.ll by folding bswaps
into i16/i32 load/stores.

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

18 years agoNew testcase for folding bswaps into i16/i32 loads and stores.
Chris Lattner [Mon, 10 Jul 2006 20:53:53 +0000 (20:53 +0000)]
New testcase for folding bswaps into i16/i32 loads and stores.

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

18 years agoRecognize 16-bit bswaps by relaxing overconstrained pattern.
Chris Lattner [Mon, 10 Jul 2006 20:25:24 +0000 (20:25 +0000)]
Recognize 16-bit bswaps by relaxing overconstrained pattern.
This implements Transforms/InstCombine/bswap.ll:test[34].

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

18 years agoAdd tests for 16-bit byteswaps.
Chris Lattner [Mon, 10 Jul 2006 20:25:01 +0000 (20:25 +0000)]
Add tests for 16-bit byteswaps.

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

18 years agoMark internal function static
Chris Lattner [Mon, 10 Jul 2006 19:53:12 +0000 (19:53 +0000)]
Mark internal function static

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

18 years agoMake instcombine not remove Phi nodes when LCSSA is live.
Owen Anderson [Mon, 10 Jul 2006 19:03:49 +0000 (19:03 +0000)]
Make instcombine not remove Phi nodes when LCSSA is live.

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

18 years agoFixed some output issues where newlines were not being printed after error messages
Patrick Jenkins [Mon, 10 Jul 2006 18:35:41 +0000 (18:35 +0000)]
Fixed some output issues where newlines were not being printed after error messages

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

18 years agoFixed an issue that tried to cat externalprogramstable.txt from the testresults direc...
Patrick Jenkins [Mon, 10 Jul 2006 16:36:19 +0000 (16:36 +0000)]
Fixed an issue that tried to cat externalprogramstable.txt from the testresults directory when it doesnt exist.

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

18 years agocreate the raddr addressing mode that matches any register and the frame index
Rafael Espindola [Mon, 10 Jul 2006 01:41:35 +0000 (01:41 +0000)]
create the raddr addressing mode that matches any register and the frame index
use raddr for the ldr instruction. This removes a dummy mov from the assembly output
remove SelectFrameIndex
remove isLoadFromStackSlot
remove isStoreToStackSlot

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

18 years agoFix typo in the comment.
Owen Anderson [Sun, 9 Jul 2006 21:35:40 +0000 (21:35 +0000)]
Fix typo in the comment.

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

18 years agoAdd a test for the LCSSA issue I just fixed.
Owen Anderson [Sun, 9 Jul 2006 08:17:30 +0000 (08:17 +0000)]
Add a test for the LCSSA issue I just fixed.

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

18 years agoAdd a fix for an issue where LCSSA would fail to insert undef's in some corner
Owen Anderson [Sun, 9 Jul 2006 08:14:06 +0000 (08:14 +0000)]
Add a fix for an issue where LCSSA would fail to insert undef's in some corner
cases.  Ideally, this issue will go away in the future as LCSSA gets smarter
about which Phi nodes it inserts.

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