oota-llvm.git
14 years agoFix a race condition in the Timer class.
Owen Anderson [Tue, 17 Nov 2009 07:06:10 +0000 (07:06 +0000)]
Fix a race condition in the Timer class.

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

14 years agoRefactor the code that creates the "dot-label" difference. This may be used in
Bill Wendling [Tue, 17 Nov 2009 01:23:53 +0000 (01:23 +0000)]
Refactor the code that creates the "dot-label" difference. This may be used in
more than one place. No intended functionality change.

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

14 years agoWhen moving a block for table jumps, make sure the prior block terminator
Jim Grosbach [Tue, 17 Nov 2009 01:21:04 +0000 (01:21 +0000)]
When moving a block for table jumps, make sure the prior block terminator
is analyzable so it can be updated. If it's not, be safe and don't move the
block.

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

14 years agoEnable -split-phi-edges by default
Jakob Stoklund Olesen [Tue, 17 Nov 2009 01:07:22 +0000 (01:07 +0000)]
Enable -split-phi-edges by default

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

14 years agoMOV64rm should be marked isReMaterializable.
Evan Cheng [Tue, 17 Nov 2009 00:55:55 +0000 (00:55 +0000)]
MOV64rm should be marked isReMaterializable.

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

14 years agoRemove the optimizations that convert BRCOND and BR_CC into
Dan Gohman [Tue, 17 Nov 2009 00:47:23 +0000 (00:47 +0000)]
Remove the optimizations that convert BRCOND and BR_CC into
unconditional branches or fallthroghes. Instcombine/SimplifyCFG
should be simplifying branches with known conditions.

This fixes some problems caused by these transformations not
updating the MachineBasicBlock CFG.

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

14 years agoRemove debug info attached with an instruction.
Devang Patel [Tue, 17 Nov 2009 00:47:06 +0000 (00:47 +0000)]
Remove debug info attached with an instruction.

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

14 years agoIn GlobalVariable::setInitializer, assert that the initializer has the
Jeffrey Yasskin [Tue, 17 Nov 2009 00:43:13 +0000 (00:43 +0000)]
In GlobalVariable::setInitializer, assert that the initializer has the
right type.

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

14 years agoA few more instructions that should be marked re-materializable.
Evan Cheng [Tue, 17 Nov 2009 00:23:22 +0000 (00:23 +0000)]
A few more instructions that should be marked re-materializable.

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

14 years agoConvert to FileCheck
Jim Grosbach [Tue, 17 Nov 2009 00:20:26 +0000 (00:20 +0000)]
Convert to FileCheck

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

14 years agoConvert to FileCheck
Jim Grosbach [Tue, 17 Nov 2009 00:03:38 +0000 (00:03 +0000)]
Convert to FileCheck

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

14 years agoCleanup. Missed removing these when converting. Oops.
Jim Grosbach [Tue, 17 Nov 2009 00:00:33 +0000 (00:00 +0000)]
Cleanup. Missed removing these when converting. Oops.

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

14 years agoSet Rm bits of BX_RET to 0b1110 (R14); and set condition code bits of BRIND to
Johnny Chen [Mon, 16 Nov 2009 23:57:56 +0000 (23:57 +0000)]
Set Rm bits of BX_RET to 0b1110 (R14); and set condition code bits of BRIND to
0b1110 (ALways).  This is so that the disassembler decoder can distinguish among
BX_RET, BRIND, and BXr9.

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

14 years agoFix this test - there don't appear to be any actual Reload Reuses
Dan Gohman [Mon, 16 Nov 2009 23:49:55 +0000 (23:49 +0000)]
Fix this test - there don't appear to be any actual Reload Reuses
in this testcase.

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

14 years agoRevert r87049, which was the workaround for the regression triggered
Dan Gohman [Mon, 16 Nov 2009 23:43:42 +0000 (23:43 +0000)]
Revert r87049, which was the workaround for the regression triggered
by the recent FixedStackPseudoSourceValue-related changes, now that
the specific bug that affected it is fixed, in r88954.

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

14 years agoRevert the test from r88984. It relies on being able to mmap 16GB of
Jeffrey Yasskin [Mon, 16 Nov 2009 23:32:30 +0000 (23:32 +0000)]
Revert the test from r88984. It relies on being able to mmap 16GB of
address space (though it only uses a small fraction of that), and the
buildbots disallow that.

Also add a comment to the Makefile's ulimit line warning future
developers that changing it won't work.

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

14 years agoConvert to FileCheck
Jim Grosbach [Mon, 16 Nov 2009 23:19:29 +0000 (23:19 +0000)]
Convert to FileCheck

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

14 years agoInitialize the new AsmPrinterFlags field to 0, fixing uses of
Dan Gohman [Mon, 16 Nov 2009 22:49:38 +0000 (22:49 +0000)]
Initialize the new AsmPrinterFlags field to 0, fixing uses of
uninitialized memory.

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

14 years agoMake X86-64 in the Large model always emit 64-bit calls.
Jeffrey Yasskin [Mon, 16 Nov 2009 22:41:33 +0000 (22:41 +0000)]
Make X86-64 in the Large model always emit 64-bit calls.
The large code model is documented at
http://www.x86-64.org/documentation/abi.pdf and says that calls should
assume their target doesn't live within the 32-bit pc-relative offset
that fits in the call instruction.

To do this, we turn off the global-address->target-global-address
conversion in X86TargetLowering::LowerCall(). The first attempt at
this broke the lazy JIT because it can separate the movabs(imm->reg)
from the actual call instruction. The lazy JIT receives the address of
the movabs as a relocation and needs to record the return address from
the call; and then when that call happens, it needs to patch the
movabs with the newly-compiled target. We could thread the call
instruction into the relocation and record the movabs<->call mapping
explicitly, but that seems to require at least as much new
complication in the code generator as this change.

To fix this, we make lazy functions _always_ go through a call
stub. You'd think we'd only have to force lazy calls through a stub on
difficult platforms, but that turns out to break indirect calls
through a function pointer. The right fix for that is to distinguish
between calls and address-of operations on uncompiled functions, but
that's complex enough to leave for someone else to do.

Another attempt at this defined a new CALL64i pseudo-instruction,
which expanded to a 2-instruction sequence in the assembly output and
was special-cased in the X86CodeEmitter's emitInstruction()
function. That broke indirect calls in the same way as above.

This patch also removes a hack forcing Darwin to the small code model.
Without far-call-stubs, the small code model requires things of the
JITMemoryManager that the DefaultJITMemoryManager can't provide.

Thanks to echristo for lots of testing!

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

14 years agoDon't build examples by default, use BUILD_EXAMPLES=1 to build them. The only utility...
Daniel Dunbar [Mon, 16 Nov 2009 22:38:00 +0000 (22:38 +0000)]
Don't build examples by default, use BUILD_EXAMPLES=1 to build them. The only utility of this is testing that we keep the examples up to date, I will just make the buildbots run with this flag.

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

14 years agoAdd "Unoptimized" build (NO_DEBUG_SYMBOLS=1 ENABLE_OPTIMIZED=1), for reducing
Daniel Dunbar [Mon, 16 Nov 2009 22:37:52 +0000 (22:37 +0000)]
Add "Unoptimized" build (NO_DEBUG_SYMBOLS=1 ENABLE_OPTIMIZED=1), for reducing
disk space, and increasing battery lifetime. :)

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

14 years agoFix unused variables warnings.
Eric Christopher [Mon, 16 Nov 2009 22:34:32 +0000 (22:34 +0000)]
Fix unused variables warnings.

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

14 years ago- Check memoperand alignment instead of checking stack alignment. Most load / store...
Evan Cheng [Mon, 16 Nov 2009 21:56:03 +0000 (21:56 +0000)]
- Check memoperand alignment instead of checking stack alignment. Most load / store folding instructions are not referencing spill stack slots.
- Mark MOVUPSrm re-materializable.

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

14 years agoRevert r88939.
Devang Patel [Mon, 16 Nov 2009 21:53:40 +0000 (21:53 +0000)]
Revert r88939.

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

14 years agoFix an expensive-checks error.
David Greene [Mon, 16 Nov 2009 21:52:23 +0000 (21:52 +0000)]
Fix an expensive-checks error.

The Mask and LHSMask may not be of the same size, so don't do the
transformation if they're different.

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

14 years agoMake the pass class name more explicit.
Jim Grosbach [Mon, 16 Nov 2009 21:13:22 +0000 (21:13 +0000)]
Make the pass class name more explicit.

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

14 years agomake pass name a bit more clear
Jim Grosbach [Mon, 16 Nov 2009 21:03:58 +0000 (21:03 +0000)]
make pass name a bit more clear

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

14 years agoRevert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h.
Dan Gohman [Mon, 16 Nov 2009 20:45:50 +0000 (20:45 +0000)]
Revert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h.

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

14 years agoRemove an unnecessary #include.
Dan Gohman [Mon, 16 Nov 2009 20:41:12 +0000 (20:41 +0000)]
Remove an unnecessary #include.

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

14 years agoSink a #include <map> to where it's actually needed.
Dan Gohman [Mon, 16 Nov 2009 20:40:47 +0000 (20:40 +0000)]
Sink a #include <map> to where it's actually needed.

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

14 years agoMake PseudoSourceValue's classof recognize
Dan Gohman [Mon, 16 Nov 2009 20:40:06 +0000 (20:40 +0000)]
Make PseudoSourceValue's classof recognize
FixedStackPseudoSourceValueVal, to respect this isa relationship.

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

14 years agoFix a typo in a comment.
Dan Gohman [Mon, 16 Nov 2009 20:35:59 +0000 (20:35 +0000)]
Fix a typo in a comment.

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

14 years agoConvert to FileCheck
Jim Grosbach [Mon, 16 Nov 2009 20:04:15 +0000 (20:04 +0000)]
Convert to FileCheck

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

14 years agoAdded a testcase for PR5495.
Lang Hames [Mon, 16 Nov 2009 20:03:13 +0000 (20:03 +0000)]
Added a testcase for PR5495.

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

14 years agoAdd configure options for specifying where to look for libstdc++.
Rafael Espindola [Mon, 16 Nov 2009 19:46:55 +0000 (19:46 +0000)]
Add configure options for specifying where to look for libstdc++.

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

14 years agoConvert to FileCheck
Jim Grosbach [Mon, 16 Nov 2009 19:46:46 +0000 (19:46 +0000)]
Convert to FileCheck

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

14 years agoFix a comment.
Bob Wilson [Mon, 16 Nov 2009 19:33:27 +0000 (19:33 +0000)]
Fix a comment.

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

14 years agoAdd VISIBILITY_HIDDEN marker.
Devang Patel [Mon, 16 Nov 2009 19:20:48 +0000 (19:20 +0000)]
Add VISIBILITY_HIDDEN marker.

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

14 years agoSimplify thumb2 jump table adjustments. Remove unnecessary calculation and
Jim Grosbach [Mon, 16 Nov 2009 18:58:52 +0000 (18:58 +0000)]
Simplify thumb2 jump table adjustments. Remove unnecessary calculation and
usage of block sizes and offsets.

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

14 years agoclarify comment
Jim Grosbach [Mon, 16 Nov 2009 18:55:47 +0000 (18:55 +0000)]
clarify comment

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

14 years agoFix some comments.
Bob Wilson [Mon, 16 Nov 2009 18:54:08 +0000 (18:54 +0000)]
Fix some comments.

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

14 years agoWhitespace: be consistent with pointer syntax.
Bob Wilson [Mon, 16 Nov 2009 18:08:46 +0000 (18:08 +0000)]
Whitespace: be consistent with pointer syntax.

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

14 years agoClean up whitespace.
Bob Wilson [Mon, 16 Nov 2009 17:56:13 +0000 (17:56 +0000)]
Clean up whitespace.

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

14 years agotbb opt off by default
Jim Grosbach [Mon, 16 Nov 2009 17:24:45 +0000 (17:24 +0000)]
tbb opt off by default

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

14 years agoback off for a bit. tracking down weirdness
Jim Grosbach [Mon, 16 Nov 2009 17:17:48 +0000 (17:17 +0000)]
back off for a bit. tracking down weirdness

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

14 years agoAnalyze has to be before checking the condition, obviously. Properly construct an...
Jim Grosbach [Mon, 16 Nov 2009 17:10:56 +0000 (17:10 +0000)]
Analyze has to be before checking the condition, obviously. Properly construct an iterator for prior.

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

14 years agoMake ERROR_IF_USED macro work with GCC <= 4.2, Apple GCCs
Douglas Gregor [Mon, 16 Nov 2009 16:56:48 +0000 (16:56 +0000)]
Make ERROR_IF_USED macro work with GCC <= 4.2, Apple GCCs

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

14 years agoMake sure that if anyone passes a name by accident for the isSigned
Duncan Sands [Mon, 16 Nov 2009 15:28:17 +0000 (15:28 +0000)]
Make sure that if anyone passes a name by accident for the isSigned
parameter of CreateIntCast then they get an error from the compiler
(or from the linker with a non-gcc compiler).  Another possibility
is to flip the order of the DestTy and isSigned parameters, since you
should then get a compiler warning if you try to use a char* for a
Type*.

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

14 years agoSupport spill comments.
David Greene [Mon, 16 Nov 2009 15:12:23 +0000 (15:12 +0000)]
Support spill comments.

Have the asm printer emit a comment if an instruction is a spill or
reload and have the spiller mark copies it introdues so the asm printer
can also annotate those.

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

14 years agoBuildIntCast takes an additional parameter, isSigned.
Duncan Sands [Mon, 16 Nov 2009 13:15:28 +0000 (13:15 +0000)]
BuildIntCast takes an additional parameter, isSigned.

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

14 years agoCreateIntCast takes an "isSigned" parameter. Pass "true" for it, rather than
Duncan Sands [Mon, 16 Nov 2009 12:32:28 +0000 (12:32 +0000)]
CreateIntCast takes an "isSigned" parameter.  Pass "true" for it, rather than
a name.

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

14 years agoSpecial case FixedStackPseudoSourceValueVal as well. Do we really need to differentia...
Evan Cheng [Mon, 16 Nov 2009 07:10:36 +0000 (07:10 +0000)]
Special case FixedStackPseudoSourceValueVal as well. Do we really need to differentiate PseudoSourceValueVal from FixedStackPseudoSourceValueVal at this level?

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

14 years agoCheck if subreg index is zero.
Evan Cheng [Mon, 16 Nov 2009 06:31:49 +0000 (06:31 +0000)]
Check if subreg index is zero.

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

14 years agoFor some targets, a copy can use a register multiple times, e.g. ppc.
Evan Cheng [Mon, 16 Nov 2009 05:52:06 +0000 (05:52 +0000)]
For some targets, a copy can use a register multiple times, e.g. ppc.

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

14 years agoxfail for now. It has been failing.
Evan Cheng [Mon, 16 Nov 2009 05:44:04 +0000 (05:44 +0000)]
xfail for now. It has been failing.

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

14 years agoDisable ldc1/sdc1 instructions for mips1 targets.
Bruno Cardoso Lopes [Mon, 16 Nov 2009 04:35:29 +0000 (04:35 +0000)]
Disable ldc1/sdc1 instructions for mips1 targets.

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

14 years ago- Fix a small bug while handling target constant pools (one param was missing).
Bruno Cardoso Lopes [Mon, 16 Nov 2009 04:33:42 +0000 (04:33 +0000)]
- Fix a small bug while handling target constant pools (one param was missing).
- Add a smarter constant pool loading, instead of:

lui $2, %hi($CPI1_0)
addiu $2, $2, %lo($CPI1_0)
lwc1 $f0, 0($2)

Generate:

lui $2, %hi($CPI1_0)
lwc1 $f0, %lo($CPI1_0)($2)

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

14 years agotypo spotted by duncan.
Chris Lattner [Mon, 16 Nov 2009 03:51:42 +0000 (03:51 +0000)]
typo spotted by duncan.

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

14 years agoFixes the bug exposed by Anton's test case in PR 5495:
Lang Hames [Mon, 16 Nov 2009 02:07:31 +0000 (02:07 +0000)]
Fixes the bug exposed by Anton's test case in PR 5495:
Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it
removes the copy from said reg's Kills list.

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

14 years agoFix for the original bug in PR5495 - Look at uses as well as defs when determining...
Lang Hames [Mon, 16 Nov 2009 02:00:09 +0000 (02:00 +0000)]
Fix for the original bug in PR5495 - Look at uses as well as defs when determining the PHI-copy insert point.

- Patch by Andrew Canis!

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

14 years agoDetect need for autoalignment of the stack earlier to catch spills more
Jim Grosbach [Sun, 15 Nov 2009 21:45:34 +0000 (21:45 +0000)]
Detect need for autoalignment of the stack earlier to catch spills more
conservatively. eliminateFrameIndex() machinery adjust to handle addr mode
6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling

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

14 years agoset the def of the VLD1q64 properly
Jim Grosbach [Sun, 15 Nov 2009 21:05:07 +0000 (21:05 +0000)]
set the def of the VLD1q64 properly

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

14 years agodisable copying, enforce some invariants.
Chris Lattner [Sun, 15 Nov 2009 20:03:53 +0000 (20:03 +0000)]
disable copying, enforce some invariants.

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

14 years agoteach LVI to infer edge information from switch instructions.
Chris Lattner [Sun, 15 Nov 2009 20:02:12 +0000 (20:02 +0000)]
teach LVI to infer edge information from switch instructions.
This allows JT to eliminate a ton of infeasible edges when
handling code like the templates in PatternMatch.h

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

14 years agofix a logic error that would cause LVI-JT to miscompile
Chris Lattner [Sun, 15 Nov 2009 20:01:24 +0000 (20:01 +0000)]
fix a logic error that would cause LVI-JT to miscompile
some conditionals

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

14 years agoimplement the first stab at caching queries. This isn't correct
Chris Lattner [Sun, 15 Nov 2009 20:00:52 +0000 (20:00 +0000)]
implement the first stab at caching queries.  This isn't correct
(because the invalidation logic is missing) but LVI isn't enabled
by default anyway.

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

14 years agorefactor a bunch of code forming the new LazyValueInfoCache
Chris Lattner [Sun, 15 Nov 2009 19:59:49 +0000 (19:59 +0000)]
refactor a bunch of code forming the new LazyValueInfoCache
and LVIQuery classes, no functionality change.

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

14 years agomake PRE of loads preserve the alignment of the moved load instruction.
Chris Lattner [Sun, 15 Nov 2009 19:58:31 +0000 (19:58 +0000)]
make PRE of loads preserve the alignment of the moved load instruction.

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

14 years agofix a bug handling 'not x' when x is undef.
Chris Lattner [Sun, 15 Nov 2009 19:57:43 +0000 (19:57 +0000)]
fix a bug handling 'not x' when x is undef.

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

14 years agomark getIntrinsicID() 'readonly'. This allows various classof methods
Chris Lattner [Sun, 15 Nov 2009 19:56:28 +0000 (19:56 +0000)]
mark getIntrinsicID() 'readonly'.  This allows various classof methods
(like DbgDeclareInst's) to shrink substantially.  It sucks that we have
to pull Compiler.h into such a public header, but at least Compiler.h
doesn't pull anything else in.

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

14 years agoadd attributes for readnone/readonly functions.
Chris Lattner [Sun, 15 Nov 2009 19:54:31 +0000 (19:54 +0000)]
add attributes for readnone/readonly functions.

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

14 years agoadd a version of array_pod_sort that takes a custom comparator function.
Chris Lattner [Sun, 15 Nov 2009 19:52:43 +0000 (19:52 +0000)]
add a version of array_pod_sort that takes a custom comparator function.

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

14 years agoAdd a complex missed optimization opportunity I came across while investigating
Nick Lewycky [Sun, 15 Nov 2009 17:51:23 +0000 (17:51 +0000)]
Add a complex missed optimization opportunity I came across while investigating
bug 5438.

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

14 years agoAdd PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.
Edward O'Callaghan [Sun, 15 Nov 2009 10:18:17 +0000 (10:18 +0000)]
Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.

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

14 years agolit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
Daniel Dunbar [Sun, 15 Nov 2009 08:10:29 +0000 (08:10 +0000)]
lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
 - Used for running a single fixed command on a directory of files, with the
   option of deriving a temporary input file from the test source.

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

14 years agoRevert r88830 and r88831 which appear to have caused a selfhost buildbot some
Nick Lewycky [Sun, 15 Nov 2009 07:47:32 +0000 (07:47 +0000)]
Revert r88830 and r88831 which appear to have caused a selfhost buildbot some
grief. I suspect this patch merely exposed a bug else.

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

14 years agoRemove duplicate implementation of excludes functionality, and support excluding
Daniel Dunbar [Sun, 15 Nov 2009 07:22:58 +0000 (07:22 +0000)]
Remove duplicate implementation of excludes functionality, and support excluding
dirnames.

Also, add support for the 'unsupported' config property.

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

14 years agoCorrect typo.
Nick Lewycky [Sun, 15 Nov 2009 06:16:57 +0000 (06:16 +0000)]
Correct typo.

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

14 years agoTeach instcombine to look for booleans in wider integers when it encounters a
Nick Lewycky [Sun, 15 Nov 2009 05:55:17 +0000 (05:55 +0000)]
Teach instcombine to look for booleans in wider integers when it encounters a
zext(icmp). It may be able to optimize that away. This fixes one of the cases
in PR5438.

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

14 years agoAdded an assert to the PBQP allocator to catch infinite cost solutions which might...
Lang Hames [Sun, 15 Nov 2009 04:39:51 +0000 (04:39 +0000)]
Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations.

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

14 years agolit: Add --repeat=N option, for running each test N times.
Daniel Dunbar [Sun, 15 Nov 2009 01:02:09 +0000 (01:02 +0000)]
lit: Add --repeat=N option, for running each test N times.
 - Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests.

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

14 years agoRemove bogus corei7 and atom entries, the family was incorrect.
Daniel Dunbar [Sat, 14 Nov 2009 22:04:42 +0000 (22:04 +0000)]
Remove bogus corei7 and atom entries, the family was incorrect.

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

14 years agoremove xfail
Jim Grosbach [Sat, 14 Nov 2009 21:57:35 +0000 (21:57 +0000)]
remove xfail

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

14 years agoFill out X86 table, although we are missing lots of names for things. We now
Daniel Dunbar [Sat, 14 Nov 2009 21:36:19 +0000 (21:36 +0000)]
Fill out X86 table, although we are missing lots of names for things. We now
properly detect my Xeon box though.

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

14 years agoReport the detected host CPU in --version.
Daniel Dunbar [Sat, 14 Nov 2009 21:36:07 +0000 (21:36 +0000)]
Report the detected host CPU in --version.

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

14 years agocleanup.
Jim Grosbach [Sat, 14 Nov 2009 21:33:37 +0000 (21:33 +0000)]
cleanup.

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

14 years agoDo not merge jump tables this early. Branch folding will do any necessary
Jim Grosbach [Sat, 14 Nov 2009 20:15:03 +0000 (20:15 +0000)]
Do not merge jump tables this early. Branch folding will do any necessary
merges, and until then, it's useful to keep the tables separate for ease
of manipulation.

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

14 years agoCleanup flow, and only update the jump table we're analyzing when replacing a destina...
Jim Grosbach [Sat, 14 Nov 2009 20:10:18 +0000 (20:10 +0000)]
Cleanup flow, and only update the jump table we're analyzing when replacing a destination MBB.

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

14 years agoAdd function to replace a destination MBB in a single jump table
Jim Grosbach [Sat, 14 Nov 2009 20:09:13 +0000 (20:09 +0000)]
Add function to replace a destination MBB in a single jump table

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

14 years agoRemove dead variable found by clang++.
Benjamin Kramer [Sat, 14 Nov 2009 19:51:20 +0000 (19:51 +0000)]
Remove dead variable found by clang++.

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

14 years agoAdd XCore support for arbitrary-sized aggregate returns.
Richard Osborne [Sat, 14 Nov 2009 19:33:35 +0000 (19:33 +0000)]
Add XCore support for arbitrary-sized aggregate returns.

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

14 years agoTemporary disable the error - it seems to be too conservative.
Anton Korobeynikov [Sat, 14 Nov 2009 18:01:41 +0000 (18:01 +0000)]
Temporary disable the error - it seems to be too conservative.

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

14 years agoImplement DISABLE_INLINE for MSVC. This required changing the position in all
Benjamin Kramer [Sat, 14 Nov 2009 16:37:18 +0000 (16:37 +0000)]
Implement DISABLE_INLINE for MSVC. This required changing the position in all
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!

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

14 years agoThis test doesn't work on arm either.
Benjamin Kramer [Sat, 14 Nov 2009 15:15:39 +0000 (15:15 +0000)]
This test doesn't work on arm either.

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

14 years agoMake NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
Benjamin Kramer [Sat, 14 Nov 2009 14:14:58 +0000 (14:14 +0000)]
Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
decl so move it there. GCC accepts it both in front and after decls.

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

14 years agoAdd llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU.
Daniel Dunbar [Sat, 14 Nov 2009 10:09:12 +0000 (10:09 +0000)]
Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU.
 - This is an initial step towards -march=native support in Clang, and towards
   eliminating host dependencies in the targets. See PR5389.

 - Patch by Roman Divacky!

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

14 years agoRemove LLVMContext from reassociate. It was threaded through every function but
Nick Lewycky [Sat, 14 Nov 2009 07:25:54 +0000 (07:25 +0000)]
Remove LLVMContext from reassociate. It was threaded through every function but
ultimately never used.

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

14 years agorevert 88761 as it fails builds.
Sanjiv Gupta [Sat, 14 Nov 2009 07:22:25 +0000 (07:22 +0000)]
revert 88761 as it fails builds.

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

14 years agoFix debug info crashes for PIC16.
Sanjiv Gupta [Sat, 14 Nov 2009 06:19:49 +0000 (06:19 +0000)]
Fix debug info crashes for PIC16.

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

14 years agoTeach BasicAA that a constant expression can't alias memory provably not
Nick Lewycky [Sat, 14 Nov 2009 06:15:14 +0000 (06:15 +0000)]
Teach BasicAA that a constant expression can't alias memory provably not
allocated until runtime (such as an alloca). Patch by Hans Wennborg!

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