aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Temporarily revert r69438 and r69439. These were causing failures during aBill Wendling2009-04-183-954/+3073
| | | | | | | release build of llvm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69440 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Mikhail Glushenkov2009-04-181-3066/+944
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69439 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a configure check for llvm-gcc.Mikhail Glushenkov2009-04-182-7/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69438 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new LiveInterval::overlaps(). It checks if the live interval overlaps ↵Evan Cheng2009-04-182-0/+20
| | | | | | a range specified by [Start, End). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69434 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a few 64 bit cases in X86InstrInfo::commuteInstructionMon P Wang2009-04-181-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69417 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust XFAIL syntax, maybe that will help. The otherDale Johannesen2009-04-181-1/+2
| | | | | | | | way worked for me... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69414 91177308-0d34-0410-b5e6-96231b3b80d8
* patch 69408 breaks this by removing the opportunityDale Johannesen2009-04-181-0/+1
| | | | | | | | | | | for the optimization it's testing to kick in (although it improves the code, getting rid of all spills). I don't understand the optimization well enough to rescue the test, so XFAILing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69409 91177308-0d34-0410-b5e6-96231b3b80d8
* Inline asm's were still introducing bogus dependencies;Dale Johannesen2009-04-181-1/+7
| | | | | | | | my earlier patch to this code only fixed half of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69408 91177308-0d34-0410-b5e6-96231b3b80d8
* remove trailing whitespaceJim Grosbach2009-04-171-50/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69402 91177308-0d34-0410-b5e6-96231b3b80d8
* Recommit r69335 and r69336. These were not causing problems.Bill Wendling2009-04-171-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69394 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the AddLiveIn function definition closer to its uses.Bob Wilson2009-04-171-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69382 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange code to reduce indentation.Bob Wilson2009-04-171-41/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69381 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename file to have the correct suffix.Bob Wilson2009-04-171-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69380 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up formatting, remove trailing whitespace, fix comment typos andBob Wilson2009-04-174-50/+37
| | | | | | | punctuation. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69378 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an unused field.Dan Gohman2009-04-171-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69375 91177308-0d34-0410-b5e6-96231b3b80d8
* Use CallConvLower.h and TableGen descriptions of the calling conventionsBob Wilson2009-04-1727-309/+748
| | | | | | | for ARM. Patch by Sandeep Patel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69371 91177308-0d34-0410-b5e6-96231b3b80d8
* Update information on canadian cross buildsJim Grosbach2009-04-171-36/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69358 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a safer iterator interface and get rid of std C++ library misuse.David Greene2009-04-171-3/+2
| | | | | | | This fixes a --enable-expensive-checks problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69353 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate configure.David Greene2009-04-171-26/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69352 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a --enable-profiling option to configure to build Debug+Profile andDavid Greene2009-04-173-30/+46
| | | | | | | Opt+Profile tools. Now we can profile any kind of flavor we build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69351 91177308-0d34-0410-b5e6-96231b3b80d8
* For general dynamic TLS access we must useRafael Espindola2009-04-174-36/+49
| | | | | | | | | | | leaq foo@TLSGD(%rip), %rdi as part of the instruction sequence. Using a register other than %rdi and then copying it to %rdi is not valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69350 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r69335 and r69336. They were causing build failures.Bill Wendling2009-04-171-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69347 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't create ConstantInts with pointer type. This fixes aDan Gohman2009-04-171-1/+1
| | | | | | | | regression in 403.gcc in PIC_CODEGEN=1 and DISABLE_LTO=1 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69344 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach spiller to unfold instructions which modref spill slot when a scratchEvan Cheng2009-04-173-11/+366
| | | | | | | | | | | | | | | | | | | | | register is available and when it's profitable. e.g. xorq %r12<kill>, %r13 addq %rax, -184(%rbp) addq %r13, -184(%rbp) ==> xorq %r12<kill>, %r13 movq -184(%rbp), %r12 addq %rax, %r12 addq %r13, %r12 movq %r12, -184(%rbp) Two more instructions, but fewer memory accesses. It can also open up opportunities for more optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69341 91177308-0d34-0410-b5e6-96231b3b80d8
* MOV8rr_NOREX is a "Move" instruction. This doesn't currentlyDan Gohman2009-04-171-0/+1
| | | | | | | | matter, because this instruction isn't generated until after things that care. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69336 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use MOV8rr_NOREX on x86-32. It doesn't actually hurt anything atDan Gohman2009-04-171-3/+4
| | | | | | | present, but it's inconsistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69335 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some failures in targets on available_externally functions,Chris Lattner2009-04-173-0/+17
| | | | | | | | this fixes a crash on CodeGen/Generic/externally_available.ll on ppc hosts. Thanks to Nicholas L for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69333 91177308-0d34-0410-b5e6-96231b3b80d8
* Use TargetData::getTypeSizeInBits instead of getPrimitiveSizeInBits()Dan Gohman2009-04-161-5/+5
| | | | | | | to get the correct answer for pointer types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69321 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3994: LLVMMatchType arguments do not refer to absolute return valueBob Wilson2009-04-162-10/+18
| | | | | | | | | | | and argument positions but only to the overloaded intrinsic parameters. Keep a separate list of these overloaded parameters in CodeGenTarget.cpp so they can be resolved easily. Remove assertions from IntrinsicEmitter.cpp: they were harmless but confusing, and the assertions elsewhere in TableGen will catch any incorrect values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69316 91177308-0d34-0410-b5e6-96231b3b80d8
* make sure to unlock keymgr if the JIT is created and destroyed, allChris Lattner2009-04-161-5/+3
| | | | | | | | | locks must be matched with unlocks. Also, use calloc to allocate the block so that it is properly zero'd. Thanks to Nick Kledzik for tracking this down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69314 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment to describe LLVMMatchType.Bob Wilson2009-04-161-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69313 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR3944: make mem2reg O(N) instead of O(N^2) in the number of Eli Friedman2009-04-161-19/+11
| | | | | | | | incoming edges for a block with many predecessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69312 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle a pointer type correctly in SCEVExpander::visitAddRecExpr.Dan Gohman2009-04-161-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69310 91177308-0d34-0410-b5e6-96231b3b80d8
* In the list-burr's pseudo two-addr dependency heuristics, don'tDan Gohman2009-04-161-0/+10
| | | | | | | | | | add dependencies on nodes with exactly one successor which is a COPY_TO_REGCLASS node. In the case that the copy is coalesced away, the dependence should be on the user of the copy, rather than the copy itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69309 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle SUBREG_TO_REG instructions with the same heuristicsDan Gohman2009-04-161-5/+7
| | | | | | | as INSERT_SUBREG instructions in the list-burr scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69308 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug with inttoptr/ptrtoint casts where the pointer has a differentDan Gohman2009-04-162-5/+12
| | | | | | | | | size from the integer, requiring zero extension or truncation. Don't create ZExtInsts with pointer types. This fixes a regression in consumer-jpeg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69307 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not treat beginning of inlined scope as beginning of normal function ↵Devang Patel2009-04-162-2/+20
| | | | | | | | | | | | | | | | | | | | | | | scope if the location info is missing. Insetad of doing ... if (inlined_subroutine && known_location) DW_TAG_inline_subroutine else DW_TAG_subprogram do if (inlined_subroutine) { if (known_location) DW_TAG_inline_subroutine } else { DW_TAG_subprogram } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69300 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code simplifications. Don't attempt LSR on theoreticalDan Gohman2009-04-161-12/+6
| | | | | | | | targets with pointers larger than 64 bits, due to the code not yet being APInt clean. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69296 91177308-0d34-0410-b5e6-96231b3b80d8
* LSR is no longer a GEP optimizer. It is now an IV expressionDan Gohman2009-04-161-2/+1
| | | | | | | optimizer, which just happen to frequently involve optimizing GEPs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69295 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix SCEVExpander::visitSMaxExpr and SCEVExpander::visitUMaxExpr toDan Gohman2009-04-161-0/+8
| | | | | | | | not create ICmpInsts with operands of different types. This fixes a regression in Applications/d/make_dparser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69294 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach SCEVExpander::InsertCastOfTo to avoid creating inttoptr-of-ptrtointDan Gohman2009-04-162-2/+10
| | | | | | | and ptrtoint-of-inttoptr expressions. This fixes a regression in 300.twolf. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69293 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ConstantExpr::getIntToPtr instead of SCEVExpander::InsertCastOfTo,Dan Gohman2009-04-161-3/+2
| | | | | | | since the operand is always a constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69291 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a SCEV expression cast instead of immediately inserting aDan Gohman2009-04-161-8/+8
| | | | | | | new instruction with SCEVExpander::InsertCastOfTo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69290 91177308-0d34-0410-b5e6-96231b3b80d8
* Record line number at the beginning of a func.start.Devang Patel2009-04-162-2/+2
| | | | | | | This line was accidently lost yesterday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69286 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR3995. A scale must be 1, 2, 4 or 8.Rafael Espindola2009-04-162-1/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69284 91177308-0d34-0410-b5e6-96231b3b80d8
* prove diagnostic -> group mapping information.Chris Lattner2009-04-161-1/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69270 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand GEPs in ScalarEvolution expressions. SCEV expressions can nowDan Gohman2009-04-1610-455/+452
| | | | | | | | | | | | | | | | | | | | | | have pointer types, though in contrast to C pointer types, SCEV addition is never implicitly scaled. This not only eliminates the need for special code like IndVars' EliminatePointerRecurrence and LSR's own GEP expansion code, it also does a better job because it lets the normal optimizations handle pointer expressions just like integer expressions. Also, since LLVM IR GEPs can't directly index into multi-dimensional VLAs, moving the GEP analysis out of client code and into the SCEV framework makes it easier for clients to handle multi-dimensional VLAs the same way as other arrays. Some existing regression tests show improved optimization. test/CodeGen/ARM/2007-03-13-InstrSched.ll in particular improved to the point where if-conversion started kicking in; I turned it off for this test to preserve the intent of the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69258 91177308-0d34-0410-b5e6-96231b3b80d8
* encode subgroups into the clang .inc file. -Wall now works!Chris Lattner2009-04-161-11/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69257 91177308-0d34-0410-b5e6-96231b3b80d8
* In -fast mode do what FastISel does.Devang Patel2009-04-162-30/+71
| | | | | | | This code could use some refactoring help! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69254 91177308-0d34-0410-b5e6-96231b3b80d8
* If FastISel is run and it has known DebugLoc then use it.Devang Patel2009-04-163-3/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69253 91177308-0d34-0410-b5e6-96231b3b80d8