oota-llvm.git
14 years agoTurn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodes
Duncan Sands [Sun, 14 Mar 2010 21:08:40 +0000 (21:08 +0000)]
Turn calls to copysignl into an FCOPYSIGN node.  Handle FCOPYSIGN nodes
with ppc_f128 type by having the type legalizer turn these back into a
call to copysignl.

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

14 years agoRename SDDbgValue.h to SDNodeDbgValue.h for consistency.
Evan Cheng [Sun, 14 Mar 2010 19:56:39 +0000 (19:56 +0000)]
Rename SDDbgValue.h to SDNodeDbgValue.h for consistency.

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

14 years agofix ShrinkDemandedOps to not leave dead nodes around,
Chris Lattner [Sun, 14 Mar 2010 19:46:02 +0000 (19:46 +0000)]
fix ShrinkDemandedOps to not leave dead nodes around,
fixing PR6607

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

14 years agorewrite ShrinkDemandedOps to be faster and indent less,
Chris Lattner [Sun, 14 Mar 2010 19:43:04 +0000 (19:43 +0000)]
rewrite ShrinkDemandedOps to be faster and indent less,
no functionality change.

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

14 years agoFix jit encoding bugs.
Evan Cheng [Sun, 14 Mar 2010 19:28:34 +0000 (19:28 +0000)]
Fix jit encoding bugs.

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

14 years agomake -view-isel-dags print after the 'ShrinkDemandedOps' pass.
Chris Lattner [Sun, 14 Mar 2010 19:27:55 +0000 (19:27 +0000)]
make -view-isel-dags print after the 'ShrinkDemandedOps' pass.

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

14 years agodon't have i386-specific tests in CodeGen/Generic, PR6601.
Chris Lattner [Sun, 14 Mar 2010 18:51:18 +0000 (18:51 +0000)]
don't have i386-specific tests in CodeGen/Generic, PR6601.

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

14 years agofix PR6605, X86ISD::CMP always returns i32 (EFLAGS), not
Chris Lattner [Sun, 14 Mar 2010 18:44:35 +0000 (18:44 +0000)]
fix PR6605, X86ISD::CMP always returns i32 (EFLAGS), not
the operand type.

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

14 years agoFix typo
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:52 +0000 (18:42 +0000)]
Fix typo

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

14 years agoDocument fp16 intrinsics
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:47 +0000 (18:42 +0000)]
Document fp16 intrinsics

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

14 years agoFeature test for half precision FP.
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:43 +0000 (18:42 +0000)]
Feature test for half precision FP.

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

14 years agoAdd substarget feature for FP16
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:38 +0000 (18:42 +0000)]
Add substarget feature for FP16

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

14 years agoAdd codegen support for FP16 on ARM
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:31 +0000 (18:42 +0000)]
Add codegen support for FP16 on ARM

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

14 years agoMake default expansion for FP16 <-> FP32 nodes into libcalls
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:24 +0000 (18:42 +0000)]
Make default expansion for FP16 <-> FP32 nodes into libcalls

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

14 years agoAdd DAG nodes to represent FP16 <-> FP32 intrinsics
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:15 +0000 (18:42 +0000)]
Add DAG nodes to represent FP16 <-> FP32 intrinsics

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

14 years agoCleanup
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:08 +0000 (18:42 +0000)]
Cleanup

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

14 years agoThe fp16 <-> fp32 intrinsics are pure, mark them so they can be CSE'd, etc.
Anton Korobeynikov [Sun, 14 Mar 2010 18:42:04 +0000 (18:42 +0000)]
The fp16 <-> fp32 intrinsics are pure, mark them so they can be CSE'd, etc.

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

14 years agoAdd intrinsics to represent fp16 <-> fp32 conversions
Anton Korobeynikov [Sun, 14 Mar 2010 18:41:50 +0000 (18:41 +0000)]
Add intrinsics to represent fp16 <-> fp32 conversions

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

14 years agoadd support for pentium class CPUs which do not have cmov,
Chris Lattner [Sun, 14 Mar 2010 18:31:44 +0000 (18:31 +0000)]
add support for pentium class CPUs which do not have cmov,
PR4841.  Patch by Craig Smith!

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

14 years agofix AsmPrinter::GetBlockAddressSymbol to always return a unique
Chris Lattner [Sun, 14 Mar 2010 17:53:23 +0000 (17:53 +0000)]
fix AsmPrinter::GetBlockAddressSymbol to always return a unique
label instead of trying to form one based on the BB name (which
causes collisions if the name is empty).  This fixes PR6608

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

14 years agocomment fix.
Chris Lattner [Sun, 14 Mar 2010 17:10:52 +0000 (17:10 +0000)]
comment fix.

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

14 years agoshrink 4-byte branches to 1-byte branches when lowering from
Chris Lattner [Sun, 14 Mar 2010 17:04:18 +0000 (17:04 +0000)]
shrink 4-byte branches to 1-byte branches when lowering from
MachineInstr -> MCInst.  This is what the assembler backend wants,
it relaxes from smaller to larger things.  This fixes rdar://7750815

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

14 years agoSkip over debug info when trying to merge two return BBs.
Bill Wendling [Sun, 14 Mar 2010 10:40:55 +0000 (10:40 +0000)]
Skip over debug info when trying to merge two return BBs.

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

14 years agoMake returns more consistent with others.
Bill Wendling [Sun, 14 Mar 2010 10:40:28 +0000 (10:40 +0000)]
Make returns more consistent with others.

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

14 years agoget MMI out of the label uniquing business, just go to MCContext
Chris Lattner [Sun, 14 Mar 2010 08:36:50 +0000 (08:36 +0000)]
get MMI out of the label uniquing business, just go to MCContext
to get unique assembler temporary labels.

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

14 years agofix these two get the mcsymbol operand instead of imm operand.
Chris Lattner [Sun, 14 Mar 2010 08:28:48 +0000 (08:28 +0000)]
fix these two get the mcsymbol operand instead of imm operand.

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

14 years agoadd a new CreateTempSymbol method, the use case for
Chris Lattner [Sun, 14 Mar 2010 08:23:30 +0000 (08:23 +0000)]
add a new CreateTempSymbol method, the use case for
CreateTempSymbol vs GetOrCreateTemporarySymbol are
completely different.

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

14 years agodon't use getDWLabel("label" anymore, always go through MMI.
Chris Lattner [Sun, 14 Mar 2010 08:18:13 +0000 (08:18 +0000)]
don't use getDWLabel("label" anymore, always go through MMI.

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

14 years agoremove now-dead code, all labels use MCSymbols.
Chris Lattner [Sun, 14 Mar 2010 08:17:53 +0000 (08:17 +0000)]
remove now-dead code, all labels use MCSymbols.

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

14 years agochange SrcLineInfo to contain a label instead of a label ID.
Chris Lattner [Sun, 14 Mar 2010 08:15:55 +0000 (08:15 +0000)]
change SrcLineInfo to contain a label instead of a label ID.

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

14 years agoNow that DBG_LABEL is updated, we can finally make MachineMove
Chris Lattner [Sun, 14 Mar 2010 08:12:40 +0000 (08:12 +0000)]
Now that DBG_LABEL is updated, we can finally make MachineMove
contain an MCSymbol instead of a label index.

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

14 years agochange the DBG_LABEL MachineInstr to always be created
Chris Lattner [Sun, 14 Mar 2010 07:56:48 +0000 (07:56 +0000)]
change the DBG_LABEL MachineInstr to always be created
with an MCSymbol instead of an immediate.

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

14 years agoxfail properly
Chris Lattner [Sun, 14 Mar 2010 07:55:34 +0000 (07:55 +0000)]
xfail properly

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

14 years agounbreak the build, grr symlinks.
Chris Lattner [Sun, 14 Mar 2010 07:36:49 +0000 (07:36 +0000)]
unbreak the build, grr symlinks.

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

14 years agoxfail these tests temporarily to get teh buildbots back to happy land.
Chris Lattner [Sun, 14 Mar 2010 07:32:48 +0000 (07:32 +0000)]
xfail these tests temporarily to get teh buildbots back to happy land.

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

14 years agoChange this code to allocate temporary labels from mccontext,
Chris Lattner [Sun, 14 Mar 2010 07:29:45 +0000 (07:29 +0000)]
Change this code to allocate temporary labels from mccontext,
not from MMI.

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

14 years agoswitch GC_LABEL to use an MCSymbol operand instead of a label ID operand.
Chris Lattner [Sun, 14 Mar 2010 07:27:07 +0000 (07:27 +0000)]
switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.

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

14 years agoFix some EH failures on NNT I introduced in r98461
Chris Lattner [Sun, 14 Mar 2010 07:02:50 +0000 (07:02 +0000)]
Fix some EH failures on NNT I introduced in r98461

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

14 years agofix a bug I introduced in r98459, causing some NNT failures.
Chris Lattner [Sun, 14 Mar 2010 06:50:56 +0000 (06:50 +0000)]
fix a bug I introduced in r98459, causing some NNT failures.

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

14 years agoCheck in tablegen changes to fix disassembler related failures caused by r98465.
Evan Cheng [Sun, 14 Mar 2010 05:15:39 +0000 (05:15 +0000)]
Check in tablegen changes to fix disassembler related failures caused by r98465.

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

14 years agoDo not force indirect tailcall through fixed registers: eax, r11. Add support to...
Evan Cheng [Sun, 14 Mar 2010 03:48:46 +0000 (03:48 +0000)]
Do not force indirect tailcall through fixed registers: eax, r11. Add support to allow loads to be folded to tail call instructions.

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

14 years agoMC: Fix a crash on invalid, attempting to evaluate undefined symbols.
Daniel Dunbar [Sun, 14 Mar 2010 03:10:40 +0000 (03:10 +0000)]
MC: Fix a crash on invalid, attempting to evaluate undefined symbols.

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

14 years agochange the LabelSDNode to be EHLabelSDNode and make it hold
Chris Lattner [Sun, 14 Mar 2010 02:33:54 +0000 (02:33 +0000)]
change the LabelSDNode to be EHLabelSDNode and make it hold
an MCSymbol.  Make the EH_LABEL MachineInstr hold its label
with an MCSymbol instead of ID.  Fix a bug in MMI.cpp which
would return labels named "Label4" instead of "label4".

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

14 years agoeliminate InvalidateLabel and LabelIDList from MMI and replace
Chris Lattner [Sun, 14 Mar 2010 02:24:55 +0000 (02:24 +0000)]
eliminate InvalidateLabel and LabelIDList from MMI and replace
them with a counter.

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

14 years agouse Label->isDefined() instead of isLabelDeleted() now that we
Chris Lattner [Sun, 14 Mar 2010 02:20:58 +0000 (02:20 +0000)]
use Label->isDefined() instead of isLabelDeleted() now that we
consistently use MCSymbol and only call this predicate after
they should have been emitted.

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

14 years agofix some pointless layering violations.
Chris Lattner [Sun, 14 Mar 2010 01:56:06 +0000 (01:56 +0000)]
fix some pointless layering violations.

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

14 years agochange EH related stuff (other than EH_LABEL) to use MCSymbol
Chris Lattner [Sun, 14 Mar 2010 01:41:15 +0000 (01:41 +0000)]
change EH related stuff (other than EH_LABEL) to use MCSymbol
instead of label ID's.  This cleans up and regularizes a bunch
of code and makes way for future progress.

Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
is largely copy and paste from DwarfException/MachineModuleInfo
and other places.  This is very sad and disturbing. :(

One major change here is that TidyLandingPads moved from being
called in DwarfException::BeginFunction to being called in
DwarfException::EndFunction.  There should not be any
functionality change from doing this, but I'm not an EH expert.

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

14 years agoX86_64: Fix encoding for the rest of the 64i32 instructions too.
Daniel Dunbar [Sat, 13 Mar 2010 22:57:53 +0000 (22:57 +0000)]
X86_64: Fix encoding for the rest of the 64i32 instructions too.

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

14 years agoX86: Fix ADD64i32 encoding.
Daniel Dunbar [Sat, 13 Mar 2010 22:49:39 +0000 (22:49 +0000)]
X86: Fix ADD64i32 encoding.

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

14 years agoMC/X86_64: Symbol support.
Daniel Dunbar [Sat, 13 Mar 2010 22:49:35 +0000 (22:49 +0000)]
MC/X86_64: Symbol support.

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

14 years agoMC/Mach-O: Initial x86_64 support.
Daniel Dunbar [Sat, 13 Mar 2010 22:10:17 +0000 (22:10 +0000)]
MC/Mach-O: Initial x86_64 support.

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

14 years agomacho-dump: Basic Mach 64 support.
Daniel Dunbar [Sat, 13 Mar 2010 22:10:11 +0000 (22:10 +0000)]
macho-dump: Basic Mach 64 support.

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

14 years agoeliminate the now-unneeded context argument of MBB::getSymbol()
Chris Lattner [Sat, 13 Mar 2010 21:04:28 +0000 (21:04 +0000)]
eliminate the now-unneeded context argument of MBB::getSymbol()

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

14 years agorearrange MCContext ownership. Before LLVMTargetMachine created it
Chris Lattner [Sat, 13 Mar 2010 20:55:24 +0000 (20:55 +0000)]
rearrange MCContext ownership.  Before LLVMTargetMachine created it
and passing off ownership to AsmPrinter.  Now MachineModuleInfo
creates it and owns it by value.  This allows us to use MCSymbols
more consistently throughout the rest of the code generator, and
simplifies a bit of code.  This also allows MachineFunction to
keep an MCContext reference handy, and cleans up the TargetRegistry
interfaces for AsmPrinters.

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

14 years agoMake lit pay attention to --vg for unittests too.
Jeffrey Yasskin [Sat, 13 Mar 2010 20:45:41 +0000 (20:45 +0000)]
Make lit pay attention to --vg for unittests too.

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

14 years agoAllow types that have been forwarded to to be freed.
Jeffrey Yasskin [Sat, 13 Mar 2010 20:09:55 +0000 (20:09 +0000)]
Allow types that have been forwarded to to be freed.

Tested: make check-lit && valgrind --dsymutil=yes --leak-check=full unittests/ExecutionEngine/JIT/Debug/JITTests

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

14 years agoTeach this test not to leak. Also, clean up all the cast<BinaryOperator> cruft.
Nick Lewycky [Sat, 13 Mar 2010 19:58:26 +0000 (19:58 +0000)]
Teach this test not to leak. Also, clean up all the cast<BinaryOperator> cruft.

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

14 years agollvm-mc: Delete output files on error.
Daniel Dunbar [Sat, 13 Mar 2010 19:31:47 +0000 (19:31 +0000)]
llvm-mc: Delete output files on error.

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

14 years agoMC/X86_64: Fix matching of leaq.
Daniel Dunbar [Sat, 13 Mar 2010 19:31:44 +0000 (19:31 +0000)]
MC/X86_64: Fix matching of leaq.

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

14 years agoMC/X86_64: Fix matching of callq.
Daniel Dunbar [Sat, 13 Mar 2010 19:31:38 +0000 (19:31 +0000)]
MC/X86_64: Fix matching of callq.

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

14 years agoadd a hack to allow parsing negative minint. rdar://7751341
Chris Lattner [Sat, 13 Mar 2010 19:25:13 +0000 (19:25 +0000)]
add a hack to allow parsing negative minint. rdar://7751341

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

14 years agoadd builder support for mcsymbol operands.
Chris Lattner [Sat, 13 Mar 2010 08:16:25 +0000 (08:16 +0000)]
add builder support for mcsymbol operands.

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

14 years agoadd support for MCSymbols as operands to MachineInstrs.
Chris Lattner [Sat, 13 Mar 2010 08:14:18 +0000 (08:14 +0000)]
add support for MCSymbols as operands to MachineInstrs.

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

14 years agosimplify EmitFrameMoves to take BaseLabel in as a symbol
Chris Lattner [Sat, 13 Mar 2010 08:05:25 +0000 (08:05 +0000)]
simplify EmitFrameMoves to take BaseLabel in as a symbol
instead of as a stem+idx pair, simplify the "is a new
location" check to use symbol comparison.

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

14 years agosimplify some overly general code. The stack always grows down on x86.
Chris Lattner [Sat, 13 Mar 2010 08:04:35 +0000 (08:04 +0000)]
simplify some overly general code.  The stack always grows down on x86.

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

14 years agoFix another warning. There is a functionality change but I believe it's correct.
Benjamin Kramer [Sat, 13 Mar 2010 07:50:22 +0000 (07:50 +0000)]
Fix another warning. There is a functionality change but I believe it's correct.

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

14 years agofactor some labels, simplify some code.
Chris Lattner [Sat, 13 Mar 2010 07:40:56 +0000 (07:40 +0000)]
factor some labels, simplify some code.

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

14 years agoAdd some parens and silence a warning.
Benjamin Kramer [Sat, 13 Mar 2010 07:40:34 +0000 (07:40 +0000)]
Add some parens and silence a warning.

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

14 years agoAttempt to appease the arm-linux buildbot by fixing the JIT encodings for new
Bob Wilson [Sat, 13 Mar 2010 07:34:35 +0000 (07:34 +0000)]
Attempt to appease the arm-linux buildbot by fixing the JIT encodings for new
base register updating load/store-multiple instructions.

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

14 years agovarious cleanups.
Chris Lattner [Sat, 13 Mar 2010 07:26:18 +0000 (07:26 +0000)]
various cleanups.

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

14 years agoMC/Mach-O: PCrel relocations weren't using the right base address, they are
Daniel Dunbar [Sat, 13 Mar 2010 02:38:00 +0000 (02:38 +0000)]
MC/Mach-O: PCrel relocations weren't using the right base address, they are
relative to the fragment address, not its offset. This was masked by the text
section normally being at address 0.

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

14 years agollvm-mc: Support -n, useful for comparing -integrated-as output since the
Daniel Dunbar [Sat, 13 Mar 2010 02:20:57 +0000 (02:20 +0000)]
llvm-mc: Support -n, useful for comparing -integrated-as output since the
compiler may not lead with the text section.

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

14 years agollvm-mc: Support -arch as a simplified form of -triple.
Daniel Dunbar [Sat, 13 Mar 2010 02:20:38 +0000 (02:20 +0000)]
llvm-mc: Support -arch as a simplified form of -triple.

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

14 years agoFix a typo in ValueTracking that's causing instcombine to delete needed shift instruc...
Evan Cheng [Sat, 13 Mar 2010 02:20:29 +0000 (02:20 +0000)]
Fix a typo in ValueTracking that's causing instcombine to delete needed shift instructions.

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

14 years agoreimplement the string pool used for inlined function
Chris Lattner [Sat, 13 Mar 2010 02:17:42 +0000 (02:17 +0000)]
reimplement the string pool used for inlined function
entries to not thrash std::strings and MCSymbols.

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

14 years agoRemove the last memory leak from the VMCore unit tests.
Jeffrey Yasskin [Sat, 13 Mar 2010 02:15:08 +0000 (02:15 +0000)]
Remove the last memory leak from the VMCore unit tests.

Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

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

14 years agoswitch to the text section at the start of the .s file for darwin/x86
Chris Lattner [Sat, 13 Mar 2010 02:10:00 +0000 (02:10 +0000)]
switch to the text section at the start of the .s file for darwin/x86
targets.  This is a temporary hack for the .o file writer that Daniel
wants :)

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

14 years agoRemove a memory leak from MetadataTest.
Jeffrey Yasskin [Sat, 13 Mar 2010 01:39:20 +0000 (01:39 +0000)]
Remove a memory leak from MetadataTest.

Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

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

14 years agoRemove a memory leak from VerifierTest.
Jeffrey Yasskin [Sat, 13 Mar 2010 01:34:56 +0000 (01:34 +0000)]
Remove a memory leak from VerifierTest.

Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests

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

14 years agoDelete MDNodes when LLVMContext is destroyed. Previous attempts: r97918, r97788.
Jeffrey Yasskin [Sat, 13 Mar 2010 01:26:15 +0000 (01:26 +0000)]
Delete MDNodes when LLVMContext is destroyed.  Previous attempts: r97918, r97788.

Tested: clang debug bootstrap, llvm-gcc bootstrap, `make check-lit`
after configuring with --with-llvmgccdir (and this did run the
FrontendC* tests this time)

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

14 years agoChange ARM ld/st multiple instructions to have variant instructions for
Bob Wilson [Sat, 13 Mar 2010 01:08:20 +0000 (01:08 +0000)]
Change ARM ld/st multiple instructions to have variant instructions for
writebacks to the address register.  This gets rid of the hack that the
first register on the list was the magic writeback register operand.  There
was an implicit constraint that if that operand was not reg0 it had to match
the base register operand.  The post-RA scheduler's antidependency breaker
did not understand that constraint and sometimes changed one without the
other.  This also fixes Radar 7495976 and should help the verifier work
better for ARM code.

There are now new ld/st instructions explicit writeback operands and explicit
constraints that tie those registers together.

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

14 years agoDo not ignore arg_size() impact while counting bb instructions.
Devang Patel [Sat, 13 Mar 2010 01:05:02 +0000 (01:05 +0000)]
Do not  ignore arg_size() impact while counting bb instructions.

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

14 years agoMC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testing
Daniel Dunbar [Sat, 13 Mar 2010 00:47:29 +0000 (00:47 +0000)]
MC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testing
other functionality on 403.gcc compiled at -O0.

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

14 years agoMC/X86: Add an XFAIL test where we aren't matching the correct instruction
Daniel Dunbar [Sat, 13 Mar 2010 00:47:25 +0000 (00:47 +0000)]
MC/X86: Add an XFAIL test where we aren't matching the correct instruction
because we don't understand how the specific instruction is doing sign
extension.

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

14 years agoRemove extra parameter.
Devang Patel [Sat, 13 Mar 2010 00:45:31 +0000 (00:45 +0000)]
Remove extra parameter.

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

14 years agoCombine the code to build VLDM and VSTM instructions, since they are
Bob Wilson [Sat, 13 Mar 2010 00:43:32 +0000 (00:43 +0000)]
Combine the code to build VLDM and VSTM instructions, since they are
mostly the same.

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

14 years agoDo not overestimate code size reduction in presense of debug info.
Devang Patel [Sat, 13 Mar 2010 00:10:20 +0000 (00:10 +0000)]
Do not overestimate code size reduction in presense of debug info.
Use CodeMetrics.analyzeBasicBlock() to estimate BB size.

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

14 years agoTidy up. No functional changes.
Bob Wilson [Fri, 12 Mar 2010 22:50:09 +0000 (22:50 +0000)]
Tidy up.  No functional changes.

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

14 years agoMC/Mach-O: Implement initial support for relaxation.
Daniel Dunbar [Fri, 12 Mar 2010 22:07:14 +0000 (22:07 +0000)]
MC/Mach-O: Implement initial support for relaxation.
 - The implementation is currently very brain dead and inefficient, but I have a
   clear plan on how to fix it.

 - The good news is, it works and correctly assembles 403.gcc (when built with
   Clang, at '-Os', '-Os -g', and '-O3'). Even better, at '-Os' and '-Os -g',
   the resulting binary is exactly equivalent to that when built with the system
   assembler. So it probably works! :)

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

14 years agoRemove obsolete comments. VLDM is implemented in ARMInstrVFP.td.
Bob Wilson [Fri, 12 Mar 2010 22:00:08 +0000 (22:00 +0000)]
Remove obsolete comments.  VLDM is implemented in ARMInstrVFP.td.

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

14 years agoFix LLVM build when the user specifies CPPFLAGS on the make command line.
Jeffrey Yasskin [Fri, 12 Mar 2010 21:42:14 +0000 (21:42 +0000)]
Fix LLVM build when the user specifies CPPFLAGS on the make command line.

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

14 years agoremove gone method, grr symlinks.
Chris Lattner [Fri, 12 Mar 2010 21:30:49 +0000 (21:30 +0000)]
remove gone method, grr symlinks.

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

14 years agoremove special case code that isn't needed anymore.
Chris Lattner [Fri, 12 Mar 2010 21:21:19 +0000 (21:21 +0000)]
remove special case code that isn't needed anymore.

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

14 years agoinline GetGlobalValueSymbol into the rest its callers and
Chris Lattner [Fri, 12 Mar 2010 21:19:23 +0000 (21:19 +0000)]
inline GetGlobalValueSymbol into the rest its callers and
remove it.

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

14 years agoinline the now-trivial implementation of GetGlobalValueSymbol into
Chris Lattner [Fri, 12 Mar 2010 21:09:07 +0000 (21:09 +0000)]
inline the now-trivial implementation of GetGlobalValueSymbol into
some of its callers.

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

14 years agoeliminate the X86 version of GetGlobalValueSymbol, allowing
Chris Lattner [Fri, 12 Mar 2010 21:06:41 +0000 (21:06 +0000)]
eliminate the X86 version of GetGlobalValueSymbol, allowing
it to be non-virtual and soon disappear.

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

14 years agoprune #includes, this file should be removed pending hte cygwin stub issue being...
Chris Lattner [Fri, 12 Mar 2010 21:04:31 +0000 (21:04 +0000)]
prune #includes, this file should be removed pending hte cygwin stub issue being resolved.

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

14 years agomove fastcall/stdcall mangling up into Mangler.
Chris Lattner [Fri, 12 Mar 2010 21:03:47 +0000 (21:03 +0000)]
move fastcall/stdcall mangling up into Mangler.

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

14 years agoMC: Factor out MCAssembler::EvaluateFixup, and simplify.
Daniel Dunbar [Fri, 12 Mar 2010 21:00:49 +0000 (21:00 +0000)]
MC: Factor out MCAssembler::EvaluateFixup, and simplify.

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

14 years agoMC: Constify MCAsmLayout argument to MCExpr::EvaluteAs...
Daniel Dunbar [Fri, 12 Mar 2010 21:00:45 +0000 (21:00 +0000)]
MC: Constify MCAsmLayout argument to MCExpr::EvaluteAs...

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