summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Machine sink could potentially sink instructions into a block where the physicalBill Wendling2010-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | registers it defines then interfere with an existing preg live range. For instance, if we had something like these machine instructions: BB#0 ... = imul ... EFLAGS<imp-def,dead> test ..., EFLAGS<imp-def> jcc BB#2 EFLAGS<imp-use> BB#1 ... ; fallthrough to BB#2 BB#2 ... ; No code that defines EFLAGS jcc ... EFLAGS<imp-use> Machine sink will come along, see that imul implicitly defines EFLAGS, but because it's "dead", it assumes that it can move imul into BB#2. But when it does, imul's "dead" imp-def of EFLAGS is raised from the dead (a zombie) and messes up the condition code for the jump (and pretty much anything else which relies upon it being correct). The solution is to know which pregs are live going into a basic block. However, that information isn't calculated at this point. Nor does the LiveVariables pass take into account non-allocatable physical registers. In lieu of this, we do a *very* conservative pass through the basic block to determine if a preg is live coming out of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105387 91177308-0d34-0410-b5e6-96231b3b80d8
* One underscore, not two.Eric Christopher2010-06-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105379 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement expansion in type legalization for add/sub with overflow. TheEli Friedman2010-06-03
| | | | | | | | | | | | expansion is the same as that used by LegalizeDAG. The resulting code sucks in terms of performance/codesize on x86-32 for a 64-bit operation; I haven't looked into whether different expansions might be better in general. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105378 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable machine cse of instructions which define physical registers.Evan Cheng2010-06-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105308 91177308-0d34-0410-b5e6-96231b3b80d8
* DwarfWrite is now smart enough to drop debug value pointing to undefined ↵Devang Patel2010-06-01
| | | | | | | | | register. Update this test to avoid this. iSel not properly lowring argument into a well formed DBG_VALUE in some cases is a separate issue and not related to the test in this testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105295 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of incoming debug value of unused argument.Devang Patel2010-06-01
| | | | | | | Radar 7927666. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105285 91177308-0d34-0410-b5e6-96231b3b80d8
* Fill in missing support for ISD::FEXP, ISD::FPOWI, and friends.Dan Gohman2010-06-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105283 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix handling of 'load' nodes.Kalle Raiskila2010-06-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105269 91177308-0d34-0410-b5e6-96231b3b80d8
* Debreak test for non-Darwin.Bill Wendling2010-05-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105257 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR7272: when inlining through a callsite with byval arguments,Duncan Sands2010-05-31
| | | | | | | | the newly created allocas may be used by inlined calls, so these need to have their tail call flags cleared. Fixes PR7272. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105255 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for the llvm-gcc commit in r90200.Eric Christopher2010-05-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105253 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6623: when optimizing for size, don't inline memcpy/memsetsChris Lattner2010-05-31
| | | | | | | | | | that are too large. This causes the freebsd bootloader to be too large apparently. It's unclear if this should be an -Os or -Oz thing. Thoughts welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105228 91177308-0d34-0410-b5e6-96231b3b80d8
* upgrade and filecheckize this test.Chris Lattner2010-05-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105227 91177308-0d34-0410-b5e6-96231b3b80d8
* The memcpy intrinsic only takes i8* for %src and %dst, so cast them to thatNick Lewycky2010-05-31
| | | | | | | first. Fixes PR7265. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105206 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove schedule-livein-copies. It's not being used.Evan Cheng2010-05-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105095 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR7193: if sibling call address can take a register, make sure there are ↵Evan Cheng2010-05-29
| | | | | | enough registers available by counting inreg arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105092 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some latency computation bugs: if the use is not a machine opcode do not ↵Evan Cheng2010-05-28
| | | | | | just return zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105061 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lint checks for function attributes.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105009 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Add alias for movzx.Kevin Enderby2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105005 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Add alias for fwait.Kevin Enderby2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105001 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the use of x86 control and debug registers so that the assertion failure inKevin Enderby2010-05-28
| | | | | | | getX86RegNum() does not happen. Patch by Shantonu Sen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104994 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing space; works for me.Dale Johannesen2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104992 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix lint's memcpy and memmove checks, and its basic block traversal.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104970 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix more tests that depended on the default register allocator choice.Jakob Stoklund Olesen2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104961 91177308-0d34-0410-b5e6-96231b3b80d8
* Detect self-referential values.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104957 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this va_arg test, which is no longer applicable.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104956 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.Stuart Hastings2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104953 91177308-0d34-0410-b5e6-96231b3b80d8
* Eli pointed out that va_arg instruction result values don'tDan Gohman2010-05-28
| | | | | | | reference the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104951 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach lint how to look through simple store+load pairs and otherDan Gohman2010-05-28
| | | | | | | | effective no-op constructs, to make it more effective on unoptimized IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104950 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach instcombine to promote alloca array sizes.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104945 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for getelementptr index promotion.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104944 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a lint check for returning the address of stack memory.Dan Gohman2010-05-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104936 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the restriction that the array size in an alloca must be i32.Dan Gohman2010-05-28
| | | | | | | This will help reduce the amount of casting required on 64-bit targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104911 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a -regalloc=default option that chooses a register allocator based on the -OJakob Stoklund Olesen2010-05-27
| | | | | | | | | optimization level. This only really affects llc for now because both the llvm-gcc and clang front ends override the default register allocator. I intend to remove that code later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104904 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.Evan Cheng2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104891 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Add aliases for Jcc variants.Kevin Enderby2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104890 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not drop location info for inlined function args.Devang Patel2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104884 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust test case for lexical block pruning. Follow-on to r104842 and Radar ↵Stuart Hastings2010-05-27
| | | | | | 7424645. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104876 91177308-0d34-0410-b5e6-96231b3b80d8
* Let's try one more time to match patterns.Devang Patel2010-05-27
| | | | | | | | | | | The goal is to match following 3 lines. In otherwords, a temp. label between to DEBUG_VALUE comments. ;DEBUG_VALUE: bar:x <- undef ## 2010-01-18-Inlined-Debug.c:7 Ltmp1: ;DEBUG_VALUE: foo:__x <- undef ## 2010-01-18-Inlined-Debug.c:5 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104872 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach instCombine to remove malloc+free if malloc's only uses are comparisonsDuncan Sands2010-05-27
| | | | | | | to null. Patch by Matti Niemenmaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104871 91177308-0d34-0410-b5e6-96231b3b80d8
* Temp. labels number may not match for all configurations.Devang Patel2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104858 91177308-0d34-0410-b5e6-96231b3b80d8
* inlined function's arguments need a label to mark the start point because ↵Devang Patel2010-05-27
| | | | | | they are not directly attached to current function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for nested functions/classes in debug output. Radar 7424645.Stuart Hastings2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104841 91177308-0d34-0410-b5e6-96231b3b80d8
* rename test to represent meaningful dateGabor Greif2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104831 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for llvm-gcc svn r104726.Bob Wilson2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104805 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a quick test of relocations.Eric Christopher2010-05-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104794 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify. Eliminate unneeded debug_loc entry.Devang Patel2010-05-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8
* Reinstate checking of stackrestore, with checking for both ReadDan Gohman2010-05-26
| | | | | | | and Write, and add a comment explaining this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104756 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement checking of the tail keyword.Dan Gohman2010-05-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104744 91177308-0d34-0410-b5e6-96231b3b80d8
* Update debug info when live-in reg is copied into a vreg.Devang Patel2010-05-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104732 91177308-0d34-0410-b5e6-96231b3b80d8