oota-llvm.git
14 years agochagne interface to SelectionDAG::getAtomic to take a MachinePointerInfo,
Chris Lattner [Tue, 21 Sep 2010 04:53:42 +0000 (04:53 +0000)]
chagne interface to SelectionDAG::getAtomic to take a MachinePointerInfo,
eliminating some weird "infer a frame address" logic which was dead.

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

14 years agodon't implicitly drop the offset of a machinememoperand when legalizing atomics.
Chris Lattner [Tue, 21 Sep 2010 04:51:11 +0000 (04:51 +0000)]
don't implicitly drop the offset of a machinememoperand when legalizing atomics.

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

14 years agoforce clients of MachineFunction::getMachineMemOperand to provide a
Chris Lattner [Tue, 21 Sep 2010 04:46:39 +0000 (04:46 +0000)]
force clients of MachineFunction::getMachineMemOperand to provide a
MachinePointerInfo, propagating the type out a level of API.  Remove
the old MachineFunction::getMachineMemOperand impl.

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

14 years agoconvert targets to the new MF.getMachineMemOperand interface.
Chris Lattner [Tue, 21 Sep 2010 04:39:43 +0000 (04:39 +0000)]
convert targets to the new MF.getMachineMemOperand interface.

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

14 years agostart pushing MachinePointerInfo out through the MachineMemOperand interface
Chris Lattner [Tue, 21 Sep 2010 04:32:08 +0000 (04:32 +0000)]
start pushing MachinePointerInfo out through the MachineMemOperand interface
to the MachineFunction construction methods.

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

14 years agorefactor the Value*/offset pair from MachineMemOperand out to a new
Chris Lattner [Tue, 21 Sep 2010 04:23:39 +0000 (04:23 +0000)]
refactor the Value*/offset pair from MachineMemOperand out to a new
MachinePointerInfo struct, no functionality change.

This also adds an assert to MachineMemOperand::MachineMemOperand
that verifies that the Value* is either null or is an IR pointer type.

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

14 years agorandom cruft in my tree.
Chris Lattner [Tue, 21 Sep 2010 04:03:39 +0000 (04:03 +0000)]
random cruft in my tree.

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

14 years agofix rdar://8453210, a crash handling a call through a GS relative load.
Chris Lattner [Tue, 21 Sep 2010 03:37:00 +0000 (03:37 +0000)]
fix rdar://8453210, a crash handling a call through a GS relative load.
For now, just disable folding the load into the call.

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

14 years agoRevert unrelated change that was accidentally included in the previous commit.
Rafael Espindola [Tue, 21 Sep 2010 00:40:19 +0000 (00:40 +0000)]
Revert unrelated change that was accidentally included in the previous commit.

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

14 years agoImplement support for .local and its "interesting" interactions with .comm.
Rafael Espindola [Tue, 21 Sep 2010 00:24:38 +0000 (00:24 +0000)]
Implement support for .local and its "interesting" interactions with .comm.

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

14 years agoEnable machine sinking critical edge splitting. e.g.
Evan Cheng [Mon, 20 Sep 2010 22:52:00 +0000 (22:52 +0000)]
Enable machine sinking critical edge splitting. e.g.

define double @foo(double %x, double %y, i1 %c) nounwind {
  %a = fdiv double %x, 3.2
  %z = select i1 %c, double %a, double %y
  ret double %z
}

Was:
_foo:
        divsd   LCPI0_0(%rip), %xmm0
        testb   $1, %dil
        jne     LBB0_2
        movaps  %xmm1, %xmm0
LBB0_2:
        ret

Now:
_foo:
        testb   $1, %dil
        je      LBB0_2
        divsd   LCPI0_0(%rip), %xmm0
        ret
LBB0_2:
        movaps  %xmm1, %xmm0
        ret

This avoids the divsd when early exit is taken.
rdar://8454886

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

14 years agoRelax this check to silently swallow FE_INEXACT, following directions
Dan Gohman [Mon, 20 Sep 2010 22:32:25 +0000 (22:32 +0000)]
Relax this check to silently swallow FE_INEXACT, following directions
from rdar://8452472. This unbreaks gcc.dg/builtins-17.c.

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

14 years agoCombinerAA is now reordering these stores.
Owen Anderson [Mon, 20 Sep 2010 20:56:29 +0000 (20:56 +0000)]
CombinerAA is now reordering these stores.

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

14 years agoWhen TCO is turned on, it is possible to end up with aliasing FrameIndex's. Therefore,
Owen Anderson [Mon, 20 Sep 2010 20:39:59 +0000 (20:39 +0000)]
When TCO is turned on, it is possible to end up with aliasing FrameIndex's.  Therefore,
CombinerAA cannot assume that different FrameIndex's never alias, but can instead use
MachineFrameInfo to get the actual offsets of these slots and check for actual aliasing.

This fixes CodeGen/X86/2010-02-19-TailCallRetAddrBug.ll and CodeGen/X86/tailcallstack64.ll
when CombinerAA is enabled, modulo a different register allocation sequence.

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

14 years agoSimplify ARM callee-saved register handling by removing the distinction
Jim Grosbach [Mon, 20 Sep 2010 19:32:20 +0000 (19:32 +0000)]
Simplify ARM callee-saved register handling by removing the distinction
between the high and low registers for prologue/epilogue code. This was
a Darwin-only thing that wasn't providing a realistic benefit anymore.
Combining the save areas simplifies the compiler code and results in better
ARM/Thumb2 codegen.

For example, previously we would generate code like:
        push    {r4, r5, r6, r7, lr}
        add     r7, sp, #12
        stmdb   sp!, {r8, r10, r11}
With this change, we combine the register saves and generate:
        push    {r4, r5, r6, r7, r8, r10, r11, lr}
        add     r7, sp, #12

rdar://8445635

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

14 years agoProduce a R_X86_64_32 when the value is >=0.
Rafael Espindola [Mon, 20 Sep 2010 19:20:47 +0000 (19:20 +0000)]
Produce a R_X86_64_32 when the value is >=0.

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

14 years agoAvoid splitting critical edge twice for a set of PHI uses.
Evan Cheng [Mon, 20 Sep 2010 19:12:55 +0000 (19:12 +0000)]
Avoid splitting critical edge twice for a set of PHI uses.

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

14 years agoFix the "unable to rename temporary" lit test failing on Windows. rename is now copy...
Francois Pichet [Mon, 20 Sep 2010 04:03:07 +0000 (04:03 +0000)]
Fix the "unable to rename temporary" lit test failing on Windows. rename is now copy + delete on Windows. Problem to be revisited for a permanent and clean solution.

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

14 years agofix a bug I introduced back in the hayday of version #2.
Chris Lattner [Mon, 20 Sep 2010 03:58:32 +0000 (03:58 +0000)]
fix a bug I introduced back in the hayday of version #2.

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

14 years agotest/CodeGen/X86: Add explicit triplet -mtriple=i686-linux to 3 tests incompatible...
NAKAMURA Takumi [Sun, 19 Sep 2010 21:58:55 +0000 (21:58 +0000)]
test/CodeGen/X86: Add explicit triplet -mtriple=i686-linux to 3 tests incompatible to Win32 codegen.

r114297 raises 3 failures. They might fail also on mingw.

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

14 years agoRevert r114312 while I sort out some issues.
Owen Anderson [Sun, 19 Sep 2010 21:01:26 +0000 (21:01 +0000)]
Revert r114312 while I sort out some issues.

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

14 years agoTentatively enabled DAGCombiner Alias Analysis by default. As far as I know,
Owen Anderson [Sun, 19 Sep 2010 19:51:55 +0000 (19:51 +0000)]
Tentatively enabled DAGCombiner Alias Analysis by default.  As far as I know,
r114268 fixed the last of the blockers to enabling it.  I will be monitoring
for failures.

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

14 years agoAdd one more Core i7 model number.
Jakob Stoklund Olesen [Sun, 19 Sep 2010 17:54:28 +0000 (17:54 +0000)]
Add one more Core i7 model number.

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

14 years agoUsing regexp-opt for keyword regex declarations makes the word lists more
Misha Brukman [Sun, 19 Sep 2010 03:44:22 +0000 (03:44 +0000)]
Using regexp-opt for keyword regex declarations makes the word lists more
readable and easier to edit.

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

14 years agoidiom recognition should catch this.
Chris Lattner [Sun, 19 Sep 2010 00:37:34 +0000 (00:37 +0000)]
idiom recognition should catch this.

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

14 years agoadd a readme.
Chris Lattner [Sun, 19 Sep 2010 00:34:58 +0000 (00:34 +0000)]
add a readme.

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

14 years agoadd corei7, the laptop version.
Chris Lattner [Sun, 19 Sep 2010 00:31:58 +0000 (00:31 +0000)]
add corei7, the laptop version.

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

14 years agoX86Subtarget.h: Fix Cygwin's TD.
NAKAMURA Takumi [Sat, 18 Sep 2010 19:50:42 +0000 (19:50 +0000)]
X86Subtarget.h: Fix Cygwin's TD.

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

14 years agoAdd the exit instruction to the PTX target.
Eric Christopher [Sat, 18 Sep 2010 18:52:28 +0000 (18:52 +0000)]
Add the exit instruction to the PTX target.

Patch by Che-Liang Chiou <clchiou@gmail.com>!

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

14 years agoHandle the odd case where we only have one instruction.
Eric Christopher [Sat, 18 Sep 2010 18:50:27 +0000 (18:50 +0000)]
Handle the odd case where we only have one instruction.

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

14 years agoFix build.
Michael J. Spencer [Sat, 18 Sep 2010 17:54:37 +0000 (17:54 +0000)]
Fix build.

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

14 years agoMake sure the STT_FILE symbol is the first one in the symbol table.
Rafael Espindola [Sat, 18 Sep 2010 15:03:21 +0000 (15:03 +0000)]
Make sure the STT_FILE symbol is the first one in the symbol table.

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

14 years agoUnbreak msvc build.
Benjamin Kramer [Sat, 18 Sep 2010 14:41:26 +0000 (14:41 +0000)]
Unbreak msvc build.

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

14 years agorestrict dyn_cast_or_null to pointer types, just like cast_or_null; re-commit of...
Gabor Greif [Sat, 18 Sep 2010 13:03:32 +0000 (13:03 +0000)]
restrict dyn_cast_or_null to pointer types, just like cast_or_null; re-commit of r114279, backed out in r114280

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

14 years agoback out r114279 as some darwin buildbots get errors compiling clang:
Gabor Greif [Sat, 18 Sep 2010 12:56:47 +0000 (12:56 +0000)]
back out r114279 as some darwin buildbots get errors compiling clang:
svn merge -c -114279 llvm/include/llvm/Support/Casting.h

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

14 years agorestrict dyn_cast_or_null to pointer types, just like cast_or_null
Gabor Greif [Sat, 18 Sep 2010 12:30:15 +0000 (12:30 +0000)]
restrict dyn_cast_or_null to pointer types, just like cast_or_null

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

14 years agodo not rely on the implicit-dereference semantics of dyn_cast_or_null
Gabor Greif [Sat, 18 Sep 2010 11:55:34 +0000 (11:55 +0000)]
do not rely on the implicit-dereference semantics of dyn_cast_or_null

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

14 years agodo not rely on the implicit-dereference semantics of dyn_cast_or_null
Gabor Greif [Sat, 18 Sep 2010 11:53:39 +0000 (11:53 +0000)]
do not rely on the implicit-dereference semantics of dyn_cast_or_null

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

14 years agoremove CallSite::get; it is still present (as protected) in the baseclass, use one...
Gabor Greif [Sat, 18 Sep 2010 11:48:36 +0000 (11:48 +0000)]
remove CallSite::get; it is still present (as protected) in the baseclass, use one of the constructors intead

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

14 years agoFixed non-const iterator error.
Lang Hames [Sat, 18 Sep 2010 09:49:08 +0000 (09:49 +0000)]
Fixed non-const iterator error.

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

14 years agoAdded a separate class (PBQPBuilder) for PBQP Problem construction. This class can...
Lang Hames [Sat, 18 Sep 2010 09:07:10 +0000 (09:07 +0000)]
Added a separate class (PBQPBuilder) for PBQP Problem construction. This class can be extended to support custom constraints.

For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming
no issues with the builder system come up.

To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a
Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor.

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

14 years agodocs: Tweak wording.
Michael J. Spencer [Sat, 18 Sep 2010 08:32:32 +0000 (08:32 +0000)]
docs: Tweak wording.

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

14 years agoFix code that break critical edges for PHI uses. Watch out for multiple PHIs in diffe...
Evan Cheng [Sat, 18 Sep 2010 06:42:17 +0000 (06:42 +0000)]
Fix code that break critical edges for PHI uses. Watch out for multiple PHIs in different blocks.

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

14 years agoInvert the logic of reachesChainWithoutSideEffects(). What we want to check is that...
Owen Anderson [Sat, 18 Sep 2010 04:45:14 +0000 (04:45 +0000)]
Invert the logic of reachesChainWithoutSideEffects().  What we want to check is that there is
NO path to the destination containing side effects, not that SOME path contains no side effects.
In  practice, this only manifests with CombinerAA enabled, because otherwise the chain has little
to no branching, so "any" is effectively equivalent to "all".

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

14 years agoThumb opcodes for thumb calls.
Eric Christopher [Sat, 18 Sep 2010 02:32:38 +0000 (02:32 +0000)]
Thumb opcodes for thumb calls.

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

14 years agolit: Bump version to 0.2.0dev, for no apparent reason.
Daniel Dunbar [Sat, 18 Sep 2010 02:28:15 +0000 (02:28 +0000)]
lit: Bump version to 0.2.0dev, for no apparent reason.

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

14 years agolit: Tweak setup.py.
Daniel Dunbar [Sat, 18 Sep 2010 02:28:12 +0000 (02:28 +0000)]
lit: Tweak setup.py.

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

14 years agolit: These TODOs are done(ish).
Daniel Dunbar [Sat, 18 Sep 2010 02:28:09 +0000 (02:28 +0000)]
lit: These TODOs are done(ish).

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

14 years agoAdd addrmode5 fp load support. Swap float/thumb operand adding to handle
Eric Christopher [Sat, 18 Sep 2010 01:59:37 +0000 (01:59 +0000)]
Add addrmode5 fp load support.  Swap float/thumb operand adding to handle
thumb with floating point.

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

14 years agoFloating point stores have a 3rd addressing mode type.
Eric Christopher [Sat, 18 Sep 2010 01:23:38 +0000 (01:23 +0000)]
Floating point stores have a 3rd addressing mode type.

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

14 years agoAdd test that was missing in my previous commit.
Rafael Espindola [Sat, 18 Sep 2010 00:37:27 +0000 (00:37 +0000)]
Add test that was missing in my previous commit.

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

14 years agofactor out a simple helper function to create a label for PC-relative
Jim Grosbach [Sat, 18 Sep 2010 00:05:05 +0000 (00:05 +0000)]
factor out a simple helper function to create a label for PC-relative
instructions (PICADD, PICLDR, et.al.)

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

14 years agoPC-relative pseudo instructions are lowered and printed directly. Any encounter
Jim Grosbach [Sat, 18 Sep 2010 00:04:53 +0000 (00:04 +0000)]
PC-relative pseudo instructions are lowered and printed directly. Any encounter
with one in the generic printing code is an error.

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

14 years agoAttempt to XFAIL this test on arm-linux, which is inexplicably failing.
Dan Gohman [Sat, 18 Sep 2010 00:04:37 +0000 (00:04 +0000)]
Attempt to XFAIL this test on arm-linux, which is inexplicably failing.

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

14 years agoFix vmov.f64 disassembly on targets where sizeof(long) != 8.
Benjamin Kramer [Fri, 17 Sep 2010 23:48:07 +0000 (23:48 +0000)]
Fix vmov.f64 disassembly on targets where sizeof(long) != 8.

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

14 years agoAdd MC-inst handling for tPICADD
Jim Grosbach [Fri, 17 Sep 2010 23:41:53 +0000 (23:41 +0000)]
Add MC-inst handling for tPICADD

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

14 years agoAdd target-specific DAG combiner for BUILD_VECTOR and VMOVRRD. An i64
Bob Wilson [Fri, 17 Sep 2010 22:59:05 +0000 (22:59 +0000)]
Add target-specific DAG combiner for BUILD_VECTOR and VMOVRRD.  An i64
value should be in GPRs when it's going to be used as a scalar, and we use
VMOVRRD to make that happen, but if the value is converted back to a vector
we need to fold to a simple bit_convert.  Radar 8407927.

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

14 years agoTeach the (non-MC) instruction printer to use the cannonical names for push/pop,
Jim Grosbach [Fri, 17 Sep 2010 22:36:38 +0000 (22:36 +0000)]
Teach the (non-MC) instruction printer to use the cannonical names for push/pop,
and shift instructions on ARM. Update the tests to match.

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

14 years agoAvoid relocations in a common case.
Rafael Espindola [Fri, 17 Sep 2010 22:34:41 +0000 (22:34 +0000)]
Avoid relocations in a common case.

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

14 years agoTeach machine sink to
Evan Cheng [Fri, 17 Sep 2010 22:28:18 +0000 (22:28 +0000)]
Teach machine sink to
1) Do forward copy propagation. This makes it easier to estimate the cost of the
   instruction being sunk.
2) Break critical edges on demand, including cases where the value is used by
   PHI nodes.
Critical edge splitting is not yet enabled by default.

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

14 years agoRework arm fast isel branch and compare code.
Eric Christopher [Fri, 17 Sep 2010 22:28:18 +0000 (22:28 +0000)]
Rework arm fast isel branch and compare code.

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

14 years agoMachine CSE was forgetting to clear some data structures.
Evan Cheng [Fri, 17 Sep 2010 21:59:42 +0000 (21:59 +0000)]
Machine CSE was forgetting to clear some data structures.

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

14 years agoUpdate tests to handle MC-inst instruction printing of shift operations. The
Jim Grosbach [Fri, 17 Sep 2010 21:58:46 +0000 (21:58 +0000)]
Update tests to handle MC-inst instruction printing of shift operations. The
legacy asm printer uses instructions of the form, "mov r0, r0, lsl #3", while
the MC-instruction printer uses the form "lsl r0, r0, #3". The latter mnemonic
is correct and preferred according the ARM documentation (A8.6.98). The former
are pseudo-instructions for the latter.

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

14 years agoFix a potential bug that can cause miscomparison with and without debug info.
Evan Cheng [Fri, 17 Sep 2010 21:56:26 +0000 (21:56 +0000)]
Fix a potential bug that can cause miscomparison with and without debug info.

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

14 years agoDon't include <fenv.h> now that we have llvm/System/FEnv.h.
Jakob Stoklund Olesen [Fri, 17 Sep 2010 21:47:03 +0000 (21:47 +0000)]
Don't include <fenv.h> now that we have llvm/System/FEnv.h.

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

14 years agoFileCheck-ize
Jim Grosbach [Fri, 17 Sep 2010 21:46:16 +0000 (21:46 +0000)]
FileCheck-ize

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

14 years agoHook up verbose asm comment printing for SOImm operands in MC printer
Jim Grosbach [Fri, 17 Sep 2010 21:33:25 +0000 (21:33 +0000)]
Hook up verbose asm comment printing for SOImm operands in MC printer

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

14 years agotrailing whitespace
Jim Grosbach [Fri, 17 Sep 2010 21:25:10 +0000 (21:25 +0000)]
trailing whitespace

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

14 years agotrailing whitespace
Jim Grosbach [Fri, 17 Sep 2010 21:23:56 +0000 (21:23 +0000)]
trailing whitespace

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

14 years agoMove thumb2 tests to the thumb2 directory
Jim Grosbach [Fri, 17 Sep 2010 20:34:09 +0000 (20:34 +0000)]
Move thumb2 tests to the thumb2 directory

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

14 years agocmake: test for the presence of fenv.h
Oscar Fuentes [Fri, 17 Sep 2010 20:30:48 +0000 (20:30 +0000)]
cmake: test for the presence of fenv.h

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

14 years agotweak test to check instructions rather than relying on the comment string
Jim Grosbach [Fri, 17 Sep 2010 20:27:26 +0000 (20:27 +0000)]
tweak test to check instructions rather than relying on the comment string

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

14 years agoFix this test to avoid an "inexact" fold.
Dan Gohman [Fri, 17 Sep 2010 20:25:43 +0000 (20:25 +0000)]
Fix this test to avoid an "inexact" fold.

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

14 years agoAvoid emitting a PIC base register if no PIC addresses are needed.
Dan Gohman [Fri, 17 Sep 2010 20:24:24 +0000 (20:24 +0000)]
Avoid emitting a PIC base register if no PIC addresses are needed.
This fixes rdar://8396318.

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

14 years agotweak test to check instructions rather than relying on the comment string
Jim Grosbach [Fri, 17 Sep 2010 20:21:03 +0000 (20:21 +0000)]
tweak test to check instructions rather than relying on the comment string

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

14 years agotweak test to check instructions rather than relying on the comment string
Jim Grosbach [Fri, 17 Sep 2010 20:17:41 +0000 (20:17 +0000)]
tweak test to check instructions rather than relying on the comment string

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

14 years agoFix this test so that folding doesn't depend on a potentially
Dan Gohman [Fri, 17 Sep 2010 20:15:53 +0000 (20:15 +0000)]
Fix this test so that folding doesn't depend on a potentially
"inexact" result.

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

14 years agoRegenerate.
Dan Gohman [Fri, 17 Sep 2010 20:08:35 +0000 (20:08 +0000)]
Regenerate.

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

14 years agoAttempt to support platforms which don't have fenv.h.
Dan Gohman [Fri, 17 Sep 2010 20:06:27 +0000 (20:06 +0000)]
Attempt to support platforms which don't have fenv.h.

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

14 years agoAdd skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!
Jim Grosbach [Fri, 17 Sep 2010 18:46:17 +0000 (18:46 +0000)]
Add skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!

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

14 years agohandle the upper16/lower16 target operand flags on symbol references for MC
Jim Grosbach [Fri, 17 Sep 2010 18:25:25 +0000 (18:25 +0000)]
handle the upper16/lower16 target operand flags on symbol references for MC
instruction lowering.

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

14 years agofix rdar://8444631 - encoder crash on 'enter'
Chris Lattner [Fri, 17 Sep 2010 18:02:29 +0000 (18:02 +0000)]
fix rdar://8444631 - encoder crash on 'enter'
What a weird instruction.

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

14 years agofix comments; patch by Edmund Grimley-Evans\!
Gabor Greif [Fri, 17 Sep 2010 17:52:00 +0000 (17:52 +0000)]
fix comments; patch by Edmund Grimley-Evans\!

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

14 years agoSome of the tests build an executable with llvm-gcc. For this to work, llvm-gcc
Duncan Sands [Fri, 17 Sep 2010 17:05:27 +0000 (17:05 +0000)]
Some of the tests build an executable with llvm-gcc.  For this to work, llvm-gcc
needs to find some libraries, which may require searching the directories given
by LIBRARY_PATH on curiously configured systems.  So pass on LIBRARY_PATH.

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

14 years agoFix an MSVC warning.
Daniel Dunbar [Fri, 17 Sep 2010 16:34:24 +0000 (16:34 +0000)]
Fix an MSVC warning.

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

14 years agoexpand PICLDR MC lowering to handle other PICLDR and PICSTR versions.
Jim Grosbach [Fri, 17 Sep 2010 16:25:52 +0000 (16:25 +0000)]
expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.

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

14 years agoMC/Mach-O/i386: Fix a crash in relocation handling.
Daniel Dunbar [Fri, 17 Sep 2010 15:21:50 +0000 (15:21 +0000)]
MC/Mach-O/i386: Fix a crash in relocation handling.

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

14 years agoMove the declaration SetInformationJobObject() outside of namespace.
NAKAMURA Takumi [Fri, 17 Sep 2010 11:14:18 +0000 (11:14 +0000)]
Move the declaration SetInformationJobObject() outside of namespace.

It is also workaround for PR7927.

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

14 years agoAlphaSchedule.td: 7bit-ize.
NAKAMURA Takumi [Fri, 17 Sep 2010 09:56:43 +0000 (09:56 +0000)]
AlphaSchedule.td: 7bit-ize.

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

14 years agodocs: Update GettingStartedVS to reflect current state.
Michael J. Spencer [Fri, 17 Sep 2010 06:33:20 +0000 (06:33 +0000)]
docs: Update GettingStartedVS to reflect current state.

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

14 years agoSystem: Don't reexport ___eprintf when building with Clang; this symbol isn't
Daniel Dunbar [Fri, 17 Sep 2010 04:25:24 +0000 (04:25 +0000)]
System: Don't reexport ___eprintf when building with Clang; this symbol isn't
used on Darwin anymore, and Clang might not always link with the library it is
currently found in.

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

14 years agotests/CMakeLists.txt: use `configure_file' instead of `sed'.
Oscar Fuentes [Fri, 17 Sep 2010 03:22:21 +0000 (03:22 +0000)]
tests/CMakeLists.txt: use `configure_file' instead of `sed'.

The Windows users will appreciate this.

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

14 years agoMC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
Daniel Dunbar [Fri, 17 Sep 2010 02:47:07 +0000 (02:47 +0000)]
MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
expression to include the modifier.
 - Gross, but this a corner case we don't expect to see often in practice, but
   it is worth accepting.
 - Also improves diagnostics on invalid modifiers.

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

14 years agoUpdated GettingStartedVS.html to reflect current state.
Oscar Fuentes [Fri, 17 Sep 2010 02:17:13 +0000 (02:17 +0000)]
Updated GettingStartedVS.html to reflect current state.

Reorganized it too.

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

14 years agoFix the folding of floating-point math library calls, like sin(infinity),
Dan Gohman [Fri, 17 Sep 2010 01:38:06 +0000 (01:38 +0000)]
Fix the folding of floating-point math library calls, like sin(infinity),
so that it detects errors on platforms where libm doesn't set errno.
It's still subject to host libm details though.

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

14 years agoUpdated LLVMLibDeps.cmake
Oscar Fuentes [Fri, 17 Sep 2010 00:43:53 +0000 (00:43 +0000)]
Updated LLVMLibDeps.cmake

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

14 years agoAdd an #include of raw_ostream.h. Previously, this only compiled
Dan Gohman [Fri, 17 Sep 2010 00:33:43 +0000 (00:33 +0000)]
Add an #include of raw_ostream.h. Previously, this only compiled
because it was using Twine.h's declaration of operator<<(const Twine &).

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

14 years agoAdd "pointer to x86mmx" type to the intrinsics.
Bill Wendling [Fri, 17 Sep 2010 00:33:03 +0000 (00:33 +0000)]
Add "pointer to x86mmx" type to the intrinsics.

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

14 years agoDirect CMake users to the right place for up-to-date info about using
Oscar Fuentes [Fri, 17 Sep 2010 00:30:52 +0000 (00:30 +0000)]
Direct CMake users to the right place for up-to-date info about using
LLVM libraries.

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

14 years agoAllow the PassRegistry mutex to be lazily initialized, and clean up the global namesp...
Owen Anderson [Thu, 16 Sep 2010 23:44:50 +0000 (23:44 +0000)]
Allow the PassRegistry mutex to be lazily initialized, and clean up the global namespace at the same time.

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