aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Pointers change size depending upon the target. Remove them to make the test ↵Tanya Lattner2008-01-301-3/+1
| | | | | | more stable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46548 91177308-0d34-0410-b5e6-96231b3b80d8
* Skip over the label which marks the beginning of the function before ↵Evan Cheng2008-01-301-0/+6
| | | | | | inserting prologue code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46546 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out mods to llvmAsmParser, incorrectly committedScott Michel2008-01-303-4562/+3410
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46545 91177308-0d34-0410-b5e6-96231b3b80d8
* More cleanups for CellSPU:Scott Michel2008-01-3018-3868/+4951
| | | | | | | | | | - Expand tabs... (poss 80-col violations, will get them later...) - Consolidate logic for SelectDFormAddr and SelectDForm2Addr into a single function, simplifying maintenance. Also reduced custom instruction generation for SPUvecinsert/INSERT_MASK. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46544 91177308-0d34-0410-b5e6-96231b3b80d8
* Make DSE much more aggressive by performing DCE earlier. Update a testcase ↵Owen Anderson2008-01-302-3/+56
| | | | | | to reflect this increased aggressiveness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46542 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an issue where, under very specific circumstances, memdep could end up ↵Owen Anderson2008-01-301-2/+2
| | | | | | | | | dereferencing the end of one of its internal maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46541 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where scalarrepl would discard offset if type would match.Chris Lattner2008-01-302-2/+23
| | | | | | | | In practice this can only happen on code with already undefined behavior, but this is still a good thing to handle correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46539 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor the addressing mode and the load/store VT out of LoadSDNodeDan Gohman2008-01-3015-161/+145
| | | | | | | | | and StoreSDNode into their common base class LSBaseSDNode. Member functions getLoadedVT and getStoredVT are replaced with the common getMemoryVT to simplify code that will handle both loads and stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46538 91177308-0d34-0410-b5e6-96231b3b80d8
* Work in progress. This patch *fixes* x86-64 calls which are modelled as ↵Evan Cheng2008-01-296-96/+283
| | | | | | | | | StructRet but really should be return in registers, e.g. _Complex long double, some 128-bit aggregates. This is a short term solution that is necessary only because llvm, for now, cannot model i128 nor call's with multiple results. Status: This only works for direct calls, and only the caller side is done. Disabled for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46527 91177308-0d34-0410-b5e6-96231b3b80d8
* Update this test case.Evan Cheng2008-01-291-2/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46526 91177308-0d34-0410-b5e6-96231b3b80d8
* When expanding an operand, it's not the result valueDuncan Sands2008-01-291-2/+2
| | | | | | | | | | | | type that matters but the operand type. This fixes 2008-01-08-IllegalCMP.ll which crashed with the new legalize infrastructure because SETCC with result type i8 and operand type i64 was being custom expanded by the X86 backend. With this fix, the gcc build gets as far as the first libcall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46525 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't let globalopt hack on volatile loads or stores.Chris Lattner2008-01-292-1/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46523 91177308-0d34-0410-b5e6-96231b3b80d8
* Altered ctor for APSInt to accept an optional "isUnsigned" flag. DefaultTed Kremenek2008-01-291-1/+2
| | | | | | | behavior is unchanged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46521 91177308-0d34-0410-b5e6-96231b3b80d8
* Use empty() instead of comparing size() with zero.Dan Gohman2008-01-2917-22/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46514 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2008-01-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46513 91177308-0d34-0410-b5e6-96231b3b80d8
* Update this file for 2.0 syntax.Dan Gohman2008-01-291-9/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46512 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments describing what the loop depth values mean. Also, make aDan Gohman2008-01-291-4/+9
| | | | | | | minor simplification to the loop depth calculation code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46511 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80-col violations.Dan Gohman2008-01-293-10/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46510 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove top-level const qualifiers from casts, avoiding associatedDan Gohman2008-01-291-10/+10
| | | | | | | compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46509 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2008-01-291-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46508 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2008-01-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46507 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2008-01-294-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46506 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm.sqrt(-0.0) is defined.Chris Lattner2008-01-291-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46500 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate additions of 0.0 when they are obviously dead. This has to be ↵Chris Lattner2008-01-292-0/+62
| | | | | | | | | careful to avoid turning -0.0 + 0.0 -> -0.0 which is incorrect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46499 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for eliminating memcpy's at the end of functions. Forgot to ↵Owen Anderson2008-01-291-0/+52
| | | | | | commit this with my last commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46497 91177308-0d34-0410-b5e6-96231b3b80d8
* Add target triples to these so they don't fail on linux.Chris Lattner2008-01-292-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46496 91177308-0d34-0410-b5e6-96231b3b80d8
* Use getPreferredAlignmentLog or getPreferredAlignmentDuncan Sands2008-01-297-20/+32
| | | | | | | | to get the alignment of global variables, rather than using hand-made versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46495 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for eliminating memcpy's at the end of functions. Also fix some ↵Owen Anderson2008-01-291-26/+63
| | | | | | | | | errors I noticed in the handling of eliminating stores to byval arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46494 91177308-0d34-0410-b5e6-96231b3b80d8
* This would be better done as an executable test.Duncan Sands2008-01-291-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46493 91177308-0d34-0410-b5e6-96231b3b80d8
* After recent changes we fail to optimize this testDuncan Sands2008-01-291-19/+0
| | | | | | | | sufficiently to have it pass. I'm removing it from the testsuite and adding it to PR452 instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46492 91177308-0d34-0410-b5e6-96231b3b80d8
* RegAllocBigBlock doesn't need LiveVariables either.Owen Anderson2008-01-291-13/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46488 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix to bug 1951: tblgen gratuitously renames variables when no temporary wasScott Michel2008-01-291-22/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | generated. This feature would only show up in fairly complex patterns, such as this one in CellSPU: def : Pat<(add (SPUhi tconstpool:$in, 0), (SPUlo tconstpool:$in, 0)), (IOHLlo (ILHUhi tconstpool:$in), tconstpool:$in)>; which generated the following emit code: SDNode *Emit_0(const SDOperand &N, unsigned Opc0, unsigned Opc1, MVT::ValueType VT0, MVT::ValueType VT1) DISABLE_INLINE { SDOperand N0 = N.getOperand(0); SDOperand N00 = N0.getOperand(0); SDOperand N01 = N0.getOperand(1); SDOperand N1 = N.getOperand(1); SDOperand N10 = N1.getOperand(0); SDOperand N11 = N1.getOperand(1); SDOperand Tmp3(CurDAG->getTargetNode(Opc0, VT0, N00), 0); return CurDAG->SelectNodeTo(N.Val, Opc1, VT1, Tmp3, Tmp2); /* Tmp2 s/b N00 */ } Tested against the test suites without incident. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46487 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly expand extract-element for non-power-of-2 codegenNate Begeman2008-01-291-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46486 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'X' constraint in asm's better.Dale Johannesen2008-01-296-21/+74
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46485 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter loops that subtract induction variables.Devang Patel2008-01-292-17/+63
| | | | | | | | | These loops are not yet handled. Fix PR 1912. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46484 91177308-0d34-0410-b5e6-96231b3b80d8
* Overhaul Cell SPU's addressing mode internals so that there are nowScott Michel2008-01-2914-874/+645
| | | | | | | | | | | | | | | only two addressing mode nodes, SPUaform and SPUindirect (vice the three previous ones, SPUaform, SPUdform and SPUxform). This improves code somewhat because we now avoid using reg+reg addressing when it can be avoided. It also simplifies the address selection logic, which was the main point for doing this. Also, for various global variables that would be loaded using SPU's A-form addressing, prefer D-form offs[reg] addressing, keeping the base in a register if the variable is used more than once. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46483 91177308-0d34-0410-b5e6-96231b3b80d8
* New test.Devang Patel2008-01-291-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46479 91177308-0d34-0410-b5e6-96231b3b80d8
* Add test to make sure that #pragma mark/error doesn't error if there areBill Wendling2008-01-291-0/+6
| | | | | | | unbalanced quotes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46476 91177308-0d34-0410-b5e6-96231b3b80d8
* Added destructor for template class FoldingSetNodeWrapper.Ted Kremenek2008-01-281-1/+4
| | | | | | | Added getValue() to FoldingSetNodeWrapper. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46465 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the code and fix a typo.Lauro Ramos Venancio2008-01-281-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46458 91177308-0d34-0410-b5e6-96231b3b80d8
* Pure/const functions with ByVal parameters cannotDuncan Sands2008-01-281-5/+10
| | | | | | | be marked readonly either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46456 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix fpcmp infinite loop when comparing "29-266" with "29-268".Lauro Ramos Venancio2008-01-281-5/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46455 91177308-0d34-0410-b5e6-96231b3b80d8
* this test is now compiled into the right thing.Chris Lattner2008-01-281-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46454 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak builds with differing object and sourceDuncan Sands2008-01-281-2/+2
| | | | | | | directories. Patch by Sam Bishop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46453 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this more likely to be passed byval.Duncan Sands2008-01-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46451 91177308-0d34-0410-b5e6-96231b3b80d8
* If the function has no machine instructions, then emit a "nop" so thatBill Wendling2008-01-281-0/+10
| | | | | | | the function label isn't associated with something it shouldn't be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46449 91177308-0d34-0410-b5e6-96231b3b80d8
* Transform calls to memcpy into llvm.memcpy calls, patch by Eli Friedman.Chris Lattner2008-01-281-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46433 91177308-0d34-0410-b5e6-96231b3b80d8
* reduce duplicate -I flags passed to the compiler, cleaning up the VERBOSEChris Lattner2008-01-281-6/+5
| | | | | | | output. Patch contributed by Sam Bishop! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46432 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle some more combinations of extend and icmp. Fixes PR1940.Nick Lewycky2008-01-284-8/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46431 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1932 by disabling an xform invalid for fdiv.Chris Lattner2008-01-282-9/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46429 91177308-0d34-0410-b5e6-96231b3b80d8