oota-llvm.git
14 years agoAdd svn:ignore properties.
Dan Gohman [Wed, 24 Feb 2010 07:06:20 +0000 (07:06 +0000)]
Add svn:ignore properties.

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

14 years agoSpeculatively revert r97010, "Add an argument to PHITranslateValue to specify
Daniel Dunbar [Wed, 24 Feb 2010 06:55:22 +0000 (06:55 +0000)]
Speculatively revert r97010, "Add an argument to PHITranslateValue to specify
the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap.

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

14 years agoWhen forming SSE min and max nodes for UGE and ULE comparisons, it's
Dan Gohman [Wed, 24 Feb 2010 06:52:40 +0000 (06:52 +0000)]
When forming SSE min and max nodes for UGE and ULE comparisons, it's
necessary to swap the operands to handle NaN and negative zero properly.

Also, reintroduce logic for checking for NaN conditions when forming
SSE min and max instructions, fixed to take into consideration NaNs and
negative zeros. This allows forming min and max instructions in more
cases.

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

14 years agoFix indentation.
Dan Gohman [Wed, 24 Feb 2010 06:46:09 +0000 (06:46 +0000)]
Fix indentation.

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

14 years agoChange the scheduler from adding nodes in allnodes order
Chris Lattner [Wed, 24 Feb 2010 06:11:37 +0000 (06:11 +0000)]
Change the scheduler from adding nodes in allnodes order
to adding them in a determinstic order (bottom up from
the root) based on the structure of the graph itself.

This updates tests for some random changes, interesting
bits: CodeGen/Blackfin/promote-logic.ll no longer crashes.
I have no idea why, but that's good right?

CodeGen/X86/2009-07-16-LoadFoldingBug.ll also fails, but
now compiles to have one fewer constant pool entry, making
the expected load that was being folded disappear.  Since it
is an unreduced mass of gnast, I just removed it.

This fixes PR6370

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

14 years agoRemove an unused variable. Was this intentional?
Chandler Carruth [Wed, 24 Feb 2010 06:09:03 +0000 (06:09 +0000)]
Remove an unused variable. Was this intentional?

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

14 years agoThe new isel was not properly handling patterns that covered
Chris Lattner [Wed, 24 Feb 2010 05:33:42 +0000 (05:33 +0000)]
The new isel was not properly handling patterns that covered
internal nodes with flag results.  Record these with a new
OPC_MarkFlagResults opcode and use this to update the interior
nodes' flag results properly.  This fixes CodeGen/X86/i256-add.ll
with the new isel.

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

14 years agoadd node #'s to debug dumps.
Chris Lattner [Wed, 24 Feb 2010 04:24:44 +0000 (04:24 +0000)]
add node #'s to debug dumps.

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

14 years agoAdded for disassembly VST1 (multiple single elements) which stores elements to
Johnny Chen [Wed, 24 Feb 2010 02:57:20 +0000 (02:57 +0000)]
Added for disassembly VST1 (multiple single elements) which stores elements to
memory from three or four registers and VST2 (multiple two-element structures)
which stores to memory from two double-spaced registers.

A8.6.391 & A8.6.393

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

14 years agoChanged the table generator so that the X86
Sean Callanan [Wed, 24 Feb 2010 02:56:25 +0000 (02:56 +0000)]
Changed the table generator so that the X86
disassembler never recognizes InitReg instructions.

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

14 years agohandle very large call frames when require SPAdj != 0 for Thumb1
Jim Grosbach [Wed, 24 Feb 2010 02:15:43 +0000 (02:15 +0000)]
handle very large call frames when require SPAdj != 0 for Thumb1

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

14 years agoLowerCall() should always do getCopyFromReg() to reference the stack pointer.
Jim Grosbach [Wed, 24 Feb 2010 01:43:03 +0000 (01:43 +0000)]
LowerCall() should always do getCopyFromReg() to reference the stack pointer.
Machine instruction selection is much happier when operands are in virtual
registers.

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

14 years agoRe-apply 96540 and 96556 with fixes.
Evan Cheng [Wed, 24 Feb 2010 01:42:31 +0000 (01:42 +0000)]
Re-apply 96540 and 96556 with fixes.

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

14 years agoAdd an argument to PHITranslateValue to specify the DominatorTree. If this
Bob Wilson [Wed, 24 Feb 2010 01:39:00 +0000 (01:39 +0000)]
Add an argument to PHITranslateValue to specify the DominatorTree.  If this
argument is non-null, pass it along to PHITranslateSubExpr so that it can
prefer using existing values that dominate the PredBB, instead of just
blindly picking the first equivalent value that it finds on a uselist.
Also when the DominatorTree is specified, have PHITranslateValue filter
out any result that does not dominate the PredBB.  This is basically just
refactoring the check that used to be in GetAvailablePHITranslatedSubExpr
and also in GVN.

Despite my initial expectations, this change does not affect the results
of GVN for any testcases that I could find, but it should help compile time.
Before this change, if PHITranslateSubExpr picked a value that does not
dominate, PHITranslateWithInsertion would then insert a new value, which GVN
would later determine to be redundant and would replace.  By picking a good
value to begin with, we save GVN the extra work of inserting and then
replacing a new value.

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

14 years agoDIV8r must define %AX since X86DAGToDAGISel::Select() sometimes uses it
Jakob Stoklund Olesen [Wed, 24 Feb 2010 00:39:35 +0000 (00:39 +0000)]
DIV8r must define %AX since X86DAGToDAGISel::Select() sometimes uses it
instead of %AL/%AH.

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

14 years agofix X86/uint_to_fp-2.ll, only fold loads when they have a
Chris Lattner [Tue, 23 Feb 2010 23:47:34 +0000 (23:47 +0000)]
fix X86/uint_to_fp-2.ll, only fold loads when they have a
single use.

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

14 years agomake selectnodeto set the nodeid to -1. This makes it more akin to
Chris Lattner [Tue, 23 Feb 2010 23:01:35 +0000 (23:01 +0000)]
make selectnodeto set the nodeid to -1.  This makes it more akin to
creating a new node then replacing uses.

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

14 years agoRemember to handle sub-registers when moving imp-defs to a rematted instruction.
Jakob Stoklund Olesen [Tue, 23 Feb 2010 22:44:02 +0000 (22:44 +0000)]
Remember to handle sub-registers when moving imp-defs to a rematted instruction.

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

14 years agoKeep track of phi join registers explicitly in LiveVariables.
Jakob Stoklund Olesen [Tue, 23 Feb 2010 22:43:58 +0000 (22:43 +0000)]
Keep track of phi join registers explicitly in LiveVariables.

Previously, LiveIntervalAnalysis would infer phi joins by looking for multiply
defined registers. That doesn't work if the phi join is implicitly defined in
all but one of the predecessors.

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

14 years agoFix rev 96389 by restricting the xform to mask that's either signbit or max signed...
Evan Cheng [Tue, 23 Feb 2010 21:51:54 +0000 (21:51 +0000)]
Fix rev 96389 by restricting the xform to mask that's either signbit or max signed value.

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

14 years agoThis is the second patch to allow x86 code to be aligned with optimal nops.
Kevin Enderby [Tue, 23 Feb 2010 21:41:24 +0000 (21:41 +0000)]
This is the second patch to allow x86 code to be aligned with optimal nops.
With the compiler changed to use EmitCodeAlignment() it does change the
functionality.  But X86 assembly code assembled with llvm-mc does not change
its output.  For that we will eventually change the assembler frontend to
detect a '.align x, 0x90' when used in a section that 'hasInstructions' and use
EmitCodeAlignment, but will wait until we have better target hooks.

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

14 years agoDon't mark call instruction as a barrier.
Richard Osborne [Tue, 23 Feb 2010 21:08:11 +0000 (21:08 +0000)]
Don't mark call instruction as a barrier.

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

14 years agoRoll back r96959 again.
Jeffrey Yasskin [Tue, 23 Feb 2010 20:53:37 +0000 (20:53 +0000)]
Roll back r96959 again.

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

14 years agoAdded for disassembly VLD1 (multiple single elements) which loads memory into
Johnny Chen [Tue, 23 Feb 2010 20:51:23 +0000 (20:51 +0000)]
Added for disassembly VLD1 (multiple single elements) which loads memory into
three or four registers and VLD2 (multiple two-element structures) which loads
memory into two double-spaced registers.

A8.6.307 & A8.6.310

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

14 years agoUse the module's context instead of the global context.
Nicolas Geoffray [Tue, 23 Feb 2010 19:42:44 +0000 (19:42 +0000)]
Use the module's context instead of the global context.

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

14 years agonew test case for r96974.
Devang Patel [Tue, 23 Feb 2010 19:37:40 +0000 (19:37 +0000)]
new test case for r96974.

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

14 years agono need to override IsLegalToFold, the base implementation
Chris Lattner [Tue, 23 Feb 2010 19:33:11 +0000 (19:33 +0000)]
no need to override IsLegalToFold, the base implementation
disables load folding at -O0.

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

14 years agofix a bug in findNonImmUse (used by IsLegalToFold) where nodes with
Chris Lattner [Tue, 23 Feb 2010 19:32:27 +0000 (19:32 +0000)]
fix a bug in findNonImmUse (used by IsLegalToFold) where nodes with
no id's would cause early exit allowing IsLegalToFold to return true
instead of false, producing a cyclic dag.

This was striking the new isel because it isn't using SelectNodeTo yet,
which theoretically is just an optimization.

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

14 years agoPrint node ID's in dumps and views if set.
Chris Lattner [Tue, 23 Feb 2010 19:31:18 +0000 (19:31 +0000)]
Print node ID's in dumps and views if set.

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

14 years agoAdding the MicroBlaze backend.
Wesley Peck [Tue, 23 Feb 2010 19:15:24 +0000 (19:15 +0000)]
Adding the MicroBlaze backend.

The MicroBlaze is a highly configurable 32-bit soft-microprocessor for
use on Xilinx FPGAs. For more information see:
http://www.xilinx.com/tools/microblaze.htm
http://en.wikipedia.org/wiki/MicroBlaze

The current LLVM MicroBlaze backend generates assembly which can be
compiled using the an appropriate binutils assembler.

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

14 years agouse OutStreamer.EmitCodeAlignment for alignment in the text
Chris Lattner [Tue, 23 Feb 2010 18:46:22 +0000 (18:46 +0000)]
use OutStreamer.EmitCodeAlignment for alignment in the text
segment.

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

14 years agogenericize MCAsmStreamer::EmitCodeAlignment to support other targets
Chris Lattner [Tue, 23 Feb 2010 18:44:31 +0000 (18:44 +0000)]
genericize MCAsmStreamer::EmitCodeAlignment to support other targets
so that it doesn't break them when the code generator starts using it.

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

14 years agoOops. Pass -lgcc _only_ on ARM, not on everything except ARM.
Jeffrey Yasskin [Tue, 23 Feb 2010 18:40:48 +0000 (18:40 +0000)]
Oops.  Pass -lgcc _only_ on ARM, not on everything except ARM.

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

14 years agoECALLF, ECALLT shouldn't be marked as barriers.
Richard Osborne [Tue, 23 Feb 2010 18:29:49 +0000 (18:29 +0000)]
ECALLF, ECALLT shouldn't be marked as barriers.

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

14 years agoThis is the first patch to put the needed bits in place to eventually allow code
Kevin Enderby [Tue, 23 Feb 2010 18:26:34 +0000 (18:26 +0000)]
This is the first patch to put the needed bits in place to eventually allow code
to be aligned with optimal nops.  This patch does not change any functionality
and when the compiler is changed to use EmitCodeAlignment() it should also not
change the resulting output.  Once the compiler change is made and everything
looks good the next patch with the table of optimal X86 nops will be added to
WriteNopData() changing the output.  There are many FIXMEs in this patch which
will be removed when we have better target hooks (coming soon I hear).

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

14 years agoMark unconditional branches as barriers. Found using -verify-machineinstrs
Richard Osborne [Tue, 23 Feb 2010 18:13:38 +0000 (18:13 +0000)]
Mark unconditional branches as barriers. Found using -verify-machineinstrs

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

14 years agoRoll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 of
Jeffrey Yasskin [Tue, 23 Feb 2010 18:10:07 +0000 (18:10 +0000)]
Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM.  This links 3 of
the examples shared to make sure the shared library keeps working.

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

14 years agoSpeed up cycle checking significantly by caching results.
David Greene [Tue, 23 Feb 2010 17:37:50 +0000 (17:37 +0000)]
Speed up cycle checking significantly by caching results.

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

14 years agoDon't do (X != Y) ? X : Y -> X for floating-point values; it doesn't
Dan Gohman [Tue, 23 Feb 2010 17:17:57 +0000 (17:17 +0000)]
Don't do (X != Y) ? X : Y  -> X for floating-point values; it doesn't
handle NaN properly.

Do (X une Y) ? X : Y  -> X if one of X and Y is not zero.

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

14 years agoSpelling. s/suppor /support /
Jim Grosbach [Tue, 23 Feb 2010 17:16:27 +0000 (17:16 +0000)]
Spelling. s/suppor /support /

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

14 years agoRemove the code which constant-folded ptrtoint(inttoptr(x)+c) to
Dan Gohman [Tue, 23 Feb 2010 16:35:41 +0000 (16:35 +0000)]
Remove the code which constant-folded ptrtoint(inttoptr(x)+c) to
getelementptr. Despite only doing so in the case where x is a known
array object and c can be converted to an index within range, this
could still be invalid if c is actually the address of an object
allocated outside of LLVM. Also, SCEVExpander, the original motivation
for this code, has since been improved to avoid inttoptr+ptroint in
more cases.

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

14 years agoModified examples Makefile to only build the ExceptionDemo example for
Garrison Venn [Tue, 23 Feb 2010 16:27:59 +0000 (16:27 +0000)]
Modified examples Makefile to only build the ExceptionDemo example for
x86 and x86_64 on UNIX systems. Only OS X 10.6.2 (x86_64) and 32bit CentOS 5.2
with gcc 4.1.2 were tested. ARM UNIX build triggered failure motivating this
modification, as it seems that the ARM ABI does not support _Unwind_GetIP(...),
_Unwind_SetGR(...), and _Unwind_SetIP(...). From doing a quick browse of:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf,
it seems as if all other exception related apis are supported. Looks like
the port can be done to ARM. Thanks to Xerxes RÃ¥nby <xerxes@zafena.se> for
pointing out this error.

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

14 years agoTesting subversion commit access
Wesley Peck [Tue, 23 Feb 2010 15:11:17 +0000 (15:11 +0000)]
Testing subversion commit access

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

14 years agoFix -mtune forwarding.
Mikhail Glushenkov [Tue, 23 Feb 2010 14:29:42 +0000 (14:29 +0000)]
Fix -mtune forwarding.

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

14 years agoRemove unused lowering function LowerJumpTable
Richard Osborne [Tue, 23 Feb 2010 14:17:20 +0000 (14:17 +0000)]
Remove unused lowering function LowerJumpTable

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

14 years agoLower BR_JT on the XCore to a jump into a series of jump instructions.
Richard Osborne [Tue, 23 Feb 2010 13:25:07 +0000 (13:25 +0000)]
Lower BR_JT on the XCore to a jump into a series of jump instructions.

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

14 years agotests: Don't make a missing llvm-gcc dir a fatal error.
Daniel Dunbar [Tue, 23 Feb 2010 11:34:12 +0000 (11:34 +0000)]
tests: Don't make a missing llvm-gcc dir a fatal error.

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

14 years agoSwitch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}
Daniel Dunbar [Tue, 23 Feb 2010 10:28:06 +0000 (10:28 +0000)]
Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}

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

14 years agoAdd LLVM{CC,CXX} make variables, which specify the configured path the LLVM
Daniel Dunbar [Tue, 23 Feb 2010 10:00:53 +0000 (10:00 +0000)]
Add LLVM{CC,CXX} make variables, which specify the configured path the LLVM
capable compilers (which could be llvm-gcc or clang).

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

14 years agoInitial configure support for using Clang as the LLVM capable compiler.
Daniel Dunbar [Tue, 23 Feb 2010 10:00:49 +0000 (10:00 +0000)]
Initial configure support for using Clang as the LLVM capable compiler.

Comes in two parts:
 1. Use --with-clang=path/to/clang/compiler to select an installed clang, or
    --with-built-clang to have the makefiles use the clang which will be built
    as the LLVM capable compiler. If neither is given, --with-built-clang will
    be used if the Clang sources are checked out into the standard location
    (tools/clang).

 2. Use --with-llvmcc={llvm-gcc,clang,none} to specify which LLVM capable
    compiler to use. If not given, then llvm-gcc will be used if available,
    otherwise Clang.

Makefile support still to come.

Eric, Doug, Chris, seem reasonable?

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

14 years agoUpdate mcc16 and the ancient Clang plugin for the 'cmd_line' -> 'command' change.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:59:30 +0000 (09:59 +0000)]
Update mcc16 and the ancient Clang plugin for the 'cmd_line' -> 'command' change.

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

14 years agoEliminate CFERuntimeLibDir make variable, this shouldn't be needed.
Daniel Dunbar [Tue, 23 Feb 2010 09:28:50 +0000 (09:28 +0000)]
Eliminate CFERuntimeLibDir make variable, this shouldn't be needed.

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

14 years agoFix a thinko in the lit.cfg.
Daniel Dunbar [Tue, 23 Feb 2010 09:28:48 +0000 (09:28 +0000)]
Fix a thinko in the lit.cfg.

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

14 years agoInput files with empty suffixes must be passed to linker.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:05:21 +0000 (09:05 +0000)]
Input files with empty suffixes must be passed to linker.

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

14 years agoSupport -Xlinker et al.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:05:15 +0000 (09:05 +0000)]
Support -Xlinker et al.

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

14 years agoTemporary disable response files.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:05:10 +0000 (09:05 +0000)]
Temporary disable response files.

They are giving us problems on Mac.

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

14 years agoTypo.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:05:06 +0000 (09:05 +0000)]
Typo.

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

14 years agoTrailing whitespace.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:05:01 +0000 (09:05 +0000)]
Trailing whitespace.

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

14 years agoImplement order-preserving option forwarding.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:57 +0000 (09:04 +0000)]
Implement order-preserving option forwarding.

Needed to correctly handle things like 'llvmc -framework Foo foo.o -framework
Bar bar.o' - before this commit all '-framework' options would've been grouped
together in the beginning.

Due to our dependence on CommandLine this turned out to be a giant hack; we will
migrate away from CommandLine eventually.

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

14 years agoUpdate the test suite.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:51 +0000 (09:04 +0000)]
Update the test suite.

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

14 years agoCorrect option forwarding: initial implementation.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:44 +0000 (09:04 +0000)]
Correct option forwarding: initial implementation.

Does not work, but the infrastructure changes are in place.

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

14 years agoPrecompiled headers: initial support.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:33 +0000 (09:04 +0000)]
Precompiled headers: initial support.

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

14 years agoNew experimental/undocumented feature: 'works_on_empty'.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:28 +0000 (09:04 +0000)]
New experimental/undocumented feature: 'works_on_empty'.

For now, just enough support to make -filelist work.

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

14 years agoSupport '-install_name'.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:18 +0000 (09:04 +0000)]
Support '-install_name'.

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

14 years agoAdd a way to enable '-opt=foo' forwarding.
Mikhail Glushenkov [Tue, 23 Feb 2010 09:04:13 +0000 (09:04 +0000)]
Add a way to enable '-opt=foo' forwarding.

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

14 years agoInline and eliminate LLVMG{CC,XX}WITHPATH.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:41 +0000 (07:56 +0000)]
Inline and eliminate LLVMG{CC,XX}WITHPATH.

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

14 years agoRemove ancient Xcode project, replaced by CMake project.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:38 +0000 (07:56 +0000)]
Remove ancient Xcode project, replaced by CMake project.

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

14 years agoRemove dead LUPGRADE make variable.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:36 +0000 (07:56 +0000)]
Remove dead LUPGRADE make variable.

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

14 years agoKill off unused LLVMGCCLIBEXEC make variable.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:34 +0000 (07:56 +0000)]
Kill off unused LLVMGCCLIBEXEC make variable.

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

14 years agoKill off LLVMGCCARCH and LLVMGCC_VERSION make variables.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:31 +0000 (07:56 +0000)]
Kill off LLVMGCCARCH and LLVMGCC_VERSION make variables.

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

14 years agoEliminate llvmgcc_version testing variable.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:28 +0000 (07:56 +0000)]
Eliminate llvmgcc_version testing variable.

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

14 years agoKill off LLVMGCC_MAJVERS make variable.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:22 +0000 (07:56 +0000)]
Kill off LLVMGCC_MAJVERS make variable.

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

14 years agoKill unused llvmgccmajvers testing variable.
Daniel Dunbar [Tue, 23 Feb 2010 07:56:18 +0000 (07:56 +0000)]
Kill unused llvmgccmajvers testing variable.

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

14 years agoadd some #if 0'd out code for checking that named values in
Chris Lattner [Tue, 23 Feb 2010 07:50:58 +0000 (07:50 +0000)]
add some #if 0'd out code for checking that named values in
input/output patterns have the same type.  It turns out that
this triggers all the time because we don't infer types
between these boundaries.  Until we do, don't turn this on.

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

14 years agoReject patterns that use a name multiple times in the src or result
Chris Lattner [Tue, 23 Feb 2010 07:22:28 +0000 (07:22 +0000)]
Reject patterns that use a name multiple times in the src or result
of a pattern and where the uses have different types.

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

14 years agodisable two patterns that are using non-sensical result pattern types.
Chris Lattner [Tue, 23 Feb 2010 07:21:15 +0000 (07:21 +0000)]
disable two patterns that are using non-sensical result pattern types.

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

14 years agoremove a confused pattern that is trying to match an address
Chris Lattner [Tue, 23 Feb 2010 07:16:12 +0000 (07:16 +0000)]
remove a confused pattern that is trying to match an address
then use it as an MMX register (!?).

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

14 years agoreject patterns that have dead named arguments in the input pattern
Chris Lattner [Tue, 23 Feb 2010 06:55:24 +0000 (06:55 +0000)]
reject patterns that have dead named arguments in the input pattern
this is tidier and can find bugs.

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

14 years agoremove a bunch of dead named arguments in input patterns,
Chris Lattner [Tue, 23 Feb 2010 06:54:29 +0000 (06:54 +0000)]
remove a bunch of dead named arguments in input patterns,
though some look dubious afaict, these are all ok.

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

14 years agoreject patterns that mention a name in the destination pattern
Chris Lattner [Tue, 23 Feb 2010 06:35:45 +0000 (06:35 +0000)]
reject patterns that mention a name in the destination pattern
but not in the input.  Previously, this would trigger an abort
late in the isel logic.

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

14 years agomerge some code.
Chris Lattner [Tue, 23 Feb 2010 06:16:51 +0000 (06:16 +0000)]
merge some code.

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

14 years agofix a type mismatch in this pattern, where we were using an i64 imm in a
Chris Lattner [Tue, 23 Feb 2010 06:09:57 +0000 (06:09 +0000)]
fix a type mismatch in this pattern, where we were using an i64 imm in a
place where an i32 imm was required, the old isel just got lucky.

This fixes CodeGen/X86/x86-64-and-mask.ll

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

14 years agomore tidying up
Chris Lattner [Tue, 23 Feb 2010 05:59:10 +0000 (05:59 +0000)]
more tidying up

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

14 years agoUpdate memdep when load PRE inserts a new load, and add some debug output.
Bob Wilson [Tue, 23 Feb 2010 05:55:00 +0000 (05:55 +0000)]
Update memdep when load PRE inserts a new load, and add some debug output.
I don't have a small testcase for this.

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

14 years agoreduce indentation by eliminating 'else after return'
Chris Lattner [Tue, 23 Feb 2010 05:51:07 +0000 (05:51 +0000)]
reduce indentation by eliminating 'else after return'

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

14 years agoreapply my cellspu changes with a fix to not break the old isel.
Chris Lattner [Tue, 23 Feb 2010 05:30:43 +0000 (05:30 +0000)]
reapply my cellspu changes with a fix to not break the old isel.

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

14 years agoUpdate LangRef to match the code; pointers default to being 64-bit.
Dan Gohman [Tue, 23 Feb 2010 02:44:03 +0000 (02:44 +0000)]
Update LangRef to match the code; pointers default to being 64-bit.

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

14 years agoRevert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.
Dan Gohman [Tue, 23 Feb 2010 02:33:29 +0000 (02:33 +0000)]
Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.

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

14 years agoX86InstrInfoSSE.td declares PINSRW as having type v8i16,
Chris Lattner [Tue, 23 Feb 2010 02:07:48 +0000 (02:07 +0000)]
X86InstrInfoSSE.td declares PINSRW as having type v8i16,
don't alis it in the MMX .td file with a different width,
split into two X86ISD opcodes.  This fixes an x86 testcase.

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

14 years agoAdded versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare to
Johnny Chen [Tue, 23 Feb 2010 01:42:58 +0000 (01:42 +0000)]
Added versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare to
(immediate #0) for disassembly only.

A8.6.283, A8.6.285, A8.6.287, A8.6.290

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

14 years agofix hte last cellspu failure.
Chris Lattner [Tue, 23 Feb 2010 01:37:39 +0000 (01:37 +0000)]
fix hte last cellspu failure.

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

14 years agohack around more crimes in instruction selection.
Chris Lattner [Tue, 23 Feb 2010 01:33:17 +0000 (01:33 +0000)]
hack around more crimes in instruction selection.

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

14 years agoConvert this test to FileCheck and add a testcase for PR3574.
Dan Gohman [Tue, 23 Feb 2010 01:28:09 +0000 (01:28 +0000)]
Convert this test to FileCheck and add a testcase for PR3574.

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

14 years agothe cell backend is making all sorts of unsafe and incorrect assumptions
Chris Lattner [Tue, 23 Feb 2010 01:20:00 +0000 (01:20 +0000)]
the cell backend is making all sorts of unsafe and incorrect assumptions
about ownership and update policies.  It isn't clear why it is doing all
this lowering at isel time instead of in legalize.  This fixes fcmp64.ll

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

14 years agoreally fix an off-by-one error
Chris Lattner [Tue, 23 Feb 2010 01:07:39 +0000 (01:07 +0000)]
really fix an off-by-one error

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

14 years agofix an off-by-one error.
Chris Lattner [Tue, 23 Feb 2010 01:07:09 +0000 (01:07 +0000)]
fix an off-by-one error.

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

14 years agoswitch the value# in OPC_CompleteMatch and OPC_EmitNode to use a
Chris Lattner [Tue, 23 Feb 2010 00:59:59 +0000 (00:59 +0000)]
switch the value# in OPC_CompleteMatch and OPC_EmitNode to use a
VBR encoding for the insanity being perpetrated by the spu backend.

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

14 years agoAdded VCEQ (immediate #0) NEON instruction for disassembly only.
Johnny Chen [Tue, 23 Feb 2010 00:33:12 +0000 (00:33 +0000)]
Added VCEQ (immediate #0) NEON instruction for disassembly only.

A8.6.281

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

14 years agoDead code elimination
Jakob Stoklund Olesen [Tue, 23 Feb 2010 00:28:53 +0000 (00:28 +0000)]
Dead code elimination

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

14 years agoFix viewCFG on Linux.
Jeffrey Yasskin [Tue, 23 Feb 2010 00:04:53 +0000 (00:04 +0000)]
Fix viewCFG on Linux.

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