aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Last COPY conversion.Jakob Stoklund Olesen2010-07-141-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108387 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove restriction on NEON alignment values. Some of the NEON ld/stBob Wilson2010-07-143-9/+4
| | | | | | | | instructions use different values (e.g., 2-byte or 4-byte alignment). Also fix ARMInstPrinter to print these alignments as bits instead of bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108386 91177308-0d34-0410-b5e6-96231b3b80d8
* Use TargetOpcode::COPY instead of X86-native register copy instructions whenJakob Stoklund Olesen2010-07-142-30/+27
| | | | | | | lowering atomics. This will allow those copies to still be coalesced after TII::isMoveInstr is removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108385 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the entire docs directory from Apple-style builds.Bob Wilson2010-07-141-2/+2
| | | | | | | This fixes a "usr_junk" verification failure when installing into /usr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108384 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to get embedded build of llvmCore to pass verification.Bob Wilson2010-07-142-17/+9
| | | | | | | Simplify some things in the process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108382 91177308-0d34-0410-b5e6-96231b3b80d8
* 80-col.Eric Christopher2010-07-141-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108381 91177308-0d34-0410-b5e6-96231b3b80d8
* Add instcombine transforms to optimize tests of multiple bits of the same ↵Owen Anderson2010-07-142-0/+43
| | | | | | value into a single larger comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108378 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily disable this test.Eric Christopher2010-07-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108371 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it a .ll test case.Devang Patel2010-07-142-50/+108
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108370 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the order in which variables are described in debug informationDan Gohman2010-07-142-1/+24
| | | | | | | | | independent of the order that isel happens to visit the dbg_declare intrinsics. This fixes a bug in which the formal arguments were being printed in reverse order, now that fast isel is going bottom up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108369 91177308-0d34-0410-b5e6-96231b3b80d8
* fix indentationChris Lattner2010-07-141-9/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108368 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some broken code to check the DISABLE_EDIS flag (edis is now in theBob Wilson2010-07-142-5/+2
| | | | | | | | | DIRS list, so it does no good to filter it from PARALLEL_DIRS), and replace it with a check to disable building the shared library version of edis when the flag is set. Disabling it entirely does not work because MC uses it now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108367 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't pass StringRef by reference.Benjamin Kramer2010-07-1437-76/+74
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for the vla and stack realignment warning.Eric Christopher2010-07-141-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108365 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly restore DebugLoc after leaving the local constant area.Dan Gohman2010-07-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108364 91177308-0d34-0410-b5e6-96231b3b80d8
* Tests for llvm-gcc commit 108360.Dale Johannesen2010-07-142-0/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108362 91177308-0d34-0410-b5e6-96231b3b80d8
* Just use getParent() instead of getModuleFromVal when the value is a Function.Dan Gohman2010-07-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108358 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename WriteConstantInt to WriteConstantInternal, to avoid confusion.Dan Gohman2010-07-141-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108357 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend SimplifyCFG's common-destination folding heuristic to allow a singleOwen Anderson2010-07-141-5/+67
| | | | | | | | | | | "bonus" instruction to be speculatively executed. Add a heuristic to ensure we're not tripping up out-of-order execution by checking that this bonus instruction only uses values that were already guaranteed to be available. This allows us to eliminate the short circuit in (x&1)&&(x&2). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out metadata parsing into a separate function.Dan Gohman2010-07-142-27/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108343 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge lib/Target/X86/X86COFF.h into include/llvm/Support/COFF.h,Chris Lattner2010-07-143-129/+71
| | | | | | | | patch by Michael Spencer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108342 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve 64-subtraction of immediates when parts of the immediate can fitJim Grosbach2010-07-145-13/+172
| | | | | | | | | | | | | in the literal field of an instruction. E.g., long long foo(long long a) { return a - 734439407618LL; } rdar://7038284 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108339 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete fast-isel's trivial load optimization; it breaks debugging becauseDan Gohman2010-07-143-56/+0
| | | | | | | it can look past points where a debugger might modify user variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108336 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test to appease the buildbots.Bob Wilson2010-07-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108334 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing address register update to t2LDM_RET instruction.Bob Wilson2010-07-141-1/+1
| | | | | | | Patch by Brian Lucas. PR7636. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108332 91177308-0d34-0410-b5e6-96231b3b80d8
* Rather than using an ifdef on the target to zero out fields,Duncan Sands2010-07-141-4/+1
| | | | | | | just use memset to zero the entire struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108330 91177308-0d34-0410-b5e6-96231b3b80d8
* A couple potential optimizations inspired by comment 4 in PR6773.Eli Friedman2010-07-141-0/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108328 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR7193 was overly conservative. The only case where sibcall calleeEvan Cheng2010-07-142-6/+25
| | | | | | | | | | | address cannot be allocated a register is in 32-bit mode where the first three arguments are marked inreg. In that case EAX, EDX, and ECX will be used for argument passing. This fixes PR7610. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108327 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for NEON VMVN immediate instructions.Bob Wilson2010-07-144-7/+96
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108324 91177308-0d34-0410-b5e6-96231b3b80d8
* The bits in the cmode field of 32-bit VMOV immediate instructions all dependBob Wilson2010-07-141-2/+2
| | | | | | | of the value of the immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108323 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r108320, I see the failures now...Chris Lattner2010-07-142-21/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108322 91177308-0d34-0410-b5e6-96231b3b80d8
* reapply benjamin's instcombine patch, I don't see anything wrong with it and ↵Chris Lattner2010-07-142-0/+21
| | | | | | can't repro any problems with a manual self-host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108320 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enable the test with fix.Evan Cheng2010-07-141-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108319 91177308-0d34-0410-b5e6-96231b3b80d8
* temporarily disable to test to fix buildbots.Chris Lattner2010-07-141-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108310 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bug found by a warning I added to clang this morning.Chris Lattner2010-07-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108309 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ProcessImplicitDefs to transform more COPY instructions into ↵Evan Cheng2010-07-144-22/+47
| | | | | | IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108304 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.Bob Wilson2010-07-142-0/+41
| | | | | | | Radar 7373643. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108303 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't propagate debug locations to instructions for materializingDan Gohman2010-07-143-9/+17
| | | | | | | | constants, since they may not be emited near the other instructions which get the same line, and this confuses debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108302 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AVX 256-bit compare instructions and a bunch of testcasesBruno Cardoso Lopes2010-07-133-0/+458
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108286 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove vestigial decl.Jakob Stoklund Olesen2010-07-131-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108278 91177308-0d34-0410-b5e6-96231b3b80d8
* Print VNInfo flags.Jakob Stoklund Olesen2010-07-131-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108277 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to representBob Wilson2010-07-134-193/+79
| | | | | | | NEON VMOV-immediate instructions. This simplifies some things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108275 91177308-0d34-0410-b5e6-96231b3b80d8
* AVX 256-bit conversion instructionsBruno Cardoso Lopes2010-07-136-15/+313
| | | | | | | Add the x86 VEX_L form to handle special cases where VEX_L must be set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108274 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comment.Evan Cheng2010-07-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108272 91177308-0d34-0410-b5e6-96231b3b80d8
* In inline asm treat indirect 'X' constraint as 'm'.Dale Johannesen2010-07-132-3/+23
| | | | | | | | | This may not be right in all cases, but it's better than asserting which it was doing before. PR 7528. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108268 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a check that pusha cannot be encoded in 64-bit mode.Kevin Enderby2010-07-131-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108265 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an assertion to make PR7542 fail consistently.Jakob Stoklund Olesen2010-07-131-0/+1
| | | | | | | | | | LiveInterval::overlapsFrom dereferences end() if it is called on an empty interval. It would be reasonable to just return false - an empty interval doesn't overlap anything, but I want to know who is doing it first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108264 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the Named Metadata example to make it clear which specificDan Gohman2010-07-131-0/+2
| | | | | | | construct is the named metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for empty named metadata too. This isn't particularlyDan Gohman2010-07-132-12/+14
| | | | | | | useful, but it is nice for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108262 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.Jakob Stoklund Olesen2010-07-131-10/+2
| | | | | | Also, one binary search is enough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108261 91177308-0d34-0410-b5e6-96231b3b80d8