aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-15eliminate some #if 0 code I added in r96905, type inference Chris Lattner
now enforces that input/output named values have hte same type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98535 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Completely rewrite tblgen's type inference mechanism,Chris Lattner
changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98534 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15MachineMove ctor doesn't need to to mutate input, add 'const'Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98533 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15do some serious surgery on CellSPU to get it back into a worldChris Lattner
where it uses types consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98532 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15fix a few more ambiguous types.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98531 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15add some missing typesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98530 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Tell Valgrind when we modify already-executed machine code so it knowsJeffrey Yasskin
to re-instrument the code. We depend on the system valgrind.h to avoid adding a new license. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98529 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15various cleanups from danielChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98528 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15fix an ambiguous pattern, contrary to expectations, scalar_to_vectorChris Lattner
doesn't have a type constraint on the scalar because we don't have an 'sAny' type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98527 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15remove dead method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98526 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14don't forget to close a FD on an error condition, found byChris Lattner
cppcheck, PR6617. Patch by Ettl Martin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14tidy up and expound more on how half-float works.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98524 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14tidy indentationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98523 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14no really, all 64-bit cpu's have cmov support. This shouldChris Lattner
fix the rest of the buildbot failures on non-x86 hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98522 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14filecheckize a test and mark these wiht a cpu so it passesChris Lattner
on hosts without cmovs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98521 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14all 64-bit cpus have cmov, this should fix CodeGen/X86/cmov.llChris Lattner
(at least) on non-x86 builders. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98520 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Remove pointless forward declaration, MSVC got confused by this.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98519 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodesDuncan Sands
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
2010-03-14Rename SDDbgValue.h to SDNodeDbgValue.h for consistency.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98513 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14fix ShrinkDemandedOps to not leave dead nodes around,Chris Lattner
fixing PR6607 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98512 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14rewrite ShrinkDemandedOps to be faster and indent less,Chris Lattner
no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98511 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Fix jit encoding bugs.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14make -view-isel-dags print after the 'ShrinkDemandedOps' pass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98509 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14don't have i386-specific tests in CodeGen/Generic, PR6601.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98508 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14fix PR6605, X86ISD::CMP always returns i32 (EFLAGS), notChris Lattner
the operand type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98507 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Fix typoAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98506 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Document fp16 intrinsicsAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98505 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Feature test for half precision FP.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98504 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Add substarget feature for FP16Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Add codegen support for FP16 on ARMAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98502 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Make default expansion for FP16 <-> FP32 nodes into libcallsAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98501 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Add DAG nodes to represent FP16 <-> FP32 intrinsicsAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98500 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14CleanupAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98499 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14The fp16 <-> fp32 intrinsics are pure, mark them so they can be CSE'd, etc.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98498 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Add intrinsics to represent fp16 <-> fp32 conversionsAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98497 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14add support for pentium class CPUs which do not have cmov,Chris Lattner
PR4841. Patch by Craig Smith! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98496 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14fix AsmPrinter::GetBlockAddressSymbol to always return a uniqueChris Lattner
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
2010-03-14comment fix.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98494 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14shrink 4-byte branches to 1-byte branches when lowering fromChris Lattner
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
2010-03-14Skip over debug info when trying to merge two return BBs.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Make returns more consistent with others.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14get MMI out of the label uniquing business, just go to MCContextChris Lattner
to get unique assembler temporary labels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14fix these two get the mcsymbol operand instead of imm operand.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14add a new CreateTempSymbol method, the use case forChris Lattner
CreateTempSymbol vs GetOrCreateTemporarySymbol are completely different. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98486 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14don't use getDWLabel("label" anymore, always go through MMI.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14remove now-dead code, all labels use MCSymbols.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98484 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14change SrcLineInfo to contain a label instead of a label ID.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Now that DBG_LABEL is updated, we can finally make MachineMove Chris Lattner
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
2010-03-14change the DBG_LABEL MachineInstr to always be createdChris Lattner
with an MCSymbol instead of an immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98481 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14xfail properlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98479 91177308-0d34-0410-b5e6-96231b3b80d8