aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* use Mang->getSymbol() Chris Lattner2010-03-151-7/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98578 91177308-0d34-0410-b5e6-96231b3b80d8
* use Mang->getSymbol() more.Chris Lattner2010-03-151-35/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98577 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend MemoryBuffer::getFile() to take an optional "stat" structureDouglas Gregor2010-03-152-9/+15
| | | | | | | | pointer. If given, the structure will be set with the stat information from the file actually read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98575 91177308-0d34-0410-b5e6-96231b3b80d8
* Create SDDbgValue for dbg_value intrinsics and remember its connections with ↵Devang Patel2010-03-151-5/+28
| | | | | | | | | | DAG nodes. This is a work in progress. Patch by Dale Johannesen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98568 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the case when a reference to an address taken BB is emitted in oneChris Lattner2010-03-153-7/+138
| | | | | | | | | function, then the BB is RAUW'd before the definition is emitted. There are still two cases not being handled, but this should improve us back to the situation before I touched anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98566 91177308-0d34-0410-b5e6-96231b3b80d8
* In "empty" bb, the return instruction may not be first instruction, if dbg ↵Devang Patel2010-03-151-1/+1
| | | | | | value intrinsics are present in this bb. Use terminator to find return instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98565 91177308-0d34-0410-b5e6-96231b3b80d8
* Place the LSDA into the TEXT section for x86 Darwin. If the global it's pointingBill Wendling2010-03-153-46/+29
| | | | | | | | | | | | to is local to the translation unit, we need to place fill the value of that symbol into the non-lazy pointer. This should conclude all Darwin changes for placing the LSDA into the TEXT section. There is some cleanup to do. I.e., there's no longer a special need for target-specific code here. But that can come later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98564 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid sibcall optimization if either caller or callee is using sret semantics.Evan Cheng2010-03-152-3/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98561 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r98550, it isn't necessary or sufficient.Chris Lattner2010-03-151-15/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98558 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit dwarf variable info communicated by code generator through DBG_VALUE ↵Devang Patel2010-03-154-14/+107
| | | | | | | | | machine instructions. This is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8
* don't eliminate address-taken blocks here.Chris Lattner2010-03-151-3/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98550 91177308-0d34-0410-b5e6-96231b3b80d8
* SIGN_EXTEND from the same type as the dest is valid.Chris Lattner2010-03-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98548 91177308-0d34-0410-b5e6-96231b3b80d8
* sink the call to VT.getSizeInBits() down into its uses,Chris Lattner2010-03-151-7/+5
| | | | | | | not all unary nodes necessarily have a simple result type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98547 91177308-0d34-0410-b5e6-96231b3b80d8
* Treat copysignl like the other copysign functions.Duncan Sands2010-03-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98542 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't save a temporary string into a StringRef field.Jeffrey Yasskin2010-03-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98538 91177308-0d34-0410-b5e6-96231b3b80d8
* fix MCSectionELF to not leak memory, just like I did for MCSymbol.Chris Lattner2010-03-153-9/+12
| | | | | | | | | MCSectionMachO is already fine (yay for fixed size arrays?), MCSectionCOFF still leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98537 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a memory leak yjasskin pointed out: MCSymbol is bump pointerChris Lattner2010-03-153-19/+22
| | | | | | | | | | | allocated and thus not freed. This is cool except that it contains and std::string so the string data didn't get freed. In any case there is no reason to redundantly store the string data in the MCSymbol anyway, just make the MCSymbol ref the string data in the MCContext StringMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98536 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate some #if 0 code I added in r96905, type inference Chris Lattner2010-03-151-18/+0
| | | | | | | 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
* Completely rewrite tblgen's type inference mechanism,Chris Lattner2010-03-157-458/+733
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* MachineMove ctor doesn't need to to mutate input, add 'const'Chris Lattner2010-03-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98533 91177308-0d34-0410-b5e6-96231b3b80d8
* do some serious surgery on CellSPU to get it back into a worldChris Lattner2010-03-154-38/+50
| | | | | | | where it uses types consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98532 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a few more ambiguous types.Chris Lattner2010-03-152-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98531 91177308-0d34-0410-b5e6-96231b3b80d8
* add some missing typesChris Lattner2010-03-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98530 91177308-0d34-0410-b5e6-96231b3b80d8
* Tell Valgrind when we modify already-executed machine code so it knowsJeffrey Yasskin2010-03-1511-13/+290
| | | | | | | | | 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
* various cleanups from danielChris Lattner2010-03-151-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98528 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an ambiguous pattern, contrary to expectations, scalar_to_vectorChris Lattner2010-03-151-1/+1
| | | | | | | | 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
* remove dead method.Chris Lattner2010-03-152-11/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98526 91177308-0d34-0410-b5e6-96231b3b80d8
* don't forget to close a FD on an error condition, found byChris Lattner2010-03-141-1/+2
| | | | | | | cppcheck, PR6617. Patch by Ettl Martin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98525 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy up and expound more on how half-float works.Chris Lattner2010-03-141-14/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98524 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy indentationChris Lattner2010-03-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98523 91177308-0d34-0410-b5e6-96231b3b80d8
* no really, all 64-bit cpu's have cmov support. This shouldChris Lattner2010-03-141-1/+6
| | | | | | | 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
* filecheckize a test and mark these wiht a cpu so it passesChris Lattner2010-03-143-6/+13
| | | | | | | on hosts without cmovs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98521 91177308-0d34-0410-b5e6-96231b3b80d8
* all 64-bit cpus have cmov, this should fix CodeGen/X86/cmov.llChris Lattner2010-03-141-1/+2
| | | | | | | (at least) on non-x86 builders. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98520 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove pointless forward declaration, MSVC got confused by this.Benjamin Kramer2010-03-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98519 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodesDuncan Sands2010-03-146-1/+29
| | | | | | | | 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
* Rename SDDbgValue.h to SDNodeDbgValue.h for consistency.Evan Cheng2010-03-144-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98513 91177308-0d34-0410-b5e6-96231b3b80d8
* fix ShrinkDemandedOps to not leave dead nodes around,Chris Lattner2010-03-142-0/+25
| | | | | | | fixing PR6607 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98512 91177308-0d34-0410-b5e6-96231b3b80d8
* rewrite ShrinkDemandedOps to be faster and indent less,Chris Lattner2010-03-141-48/+64
| | | | | | | no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98511 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix jit encoding bugs.Evan Cheng2010-03-141-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98510 91177308-0d34-0410-b5e6-96231b3b80d8
* make -view-isel-dags print after the 'ShrinkDemandedOps' pass.Chris Lattner2010-03-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98509 91177308-0d34-0410-b5e6-96231b3b80d8
* don't have i386-specific tests in CodeGen/Generic, PR6601.Chris Lattner2010-03-1422-30/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98508 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6605, X86ISD::CMP always returns i32 (EFLAGS), notChris Lattner2010-03-143-3/+27
| | | | | | | the operand type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98507 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typoAnton Korobeynikov2010-03-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98506 91177308-0d34-0410-b5e6-96231b3b80d8
* Document fp16 intrinsicsAnton Korobeynikov2010-03-141-0/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98505 91177308-0d34-0410-b5e6-96231b3b80d8
* Feature test for half precision FP.Anton Korobeynikov2010-03-141-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98504 91177308-0d34-0410-b5e6-96231b3b80d8
* Add substarget feature for FP16Anton Korobeynikov2010-03-144-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98503 91177308-0d34-0410-b5e6-96231b3b80d8
* Add codegen support for FP16 on ARMAnton Korobeynikov2010-03-143-12/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98502 91177308-0d34-0410-b5e6-96231b3b80d8
* Make default expansion for FP16 <-> FP32 nodes into libcallsAnton Korobeynikov2010-03-148-0/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98501 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DAG nodes to represent FP16 <-> FP32 intrinsicsAnton Korobeynikov2010-03-142-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98500 91177308-0d34-0410-b5e6-96231b3b80d8
* CleanupAnton Korobeynikov2010-03-141-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98499 91177308-0d34-0410-b5e6-96231b3b80d8