summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work ↵Craig Topper2011-10-157-25/+180
| | | | | | because these are the first VEX encoded instructions to use the reg field as an opcode extension. llvm-svn: 142082
* The CELL backend cannot select patterns for vector trunc-store and shl on ↵Nadav Rotem2011-10-151-0/+9
| | | | | | v2i64; CellSPU/shift_ops.ll fails when promoting elements. llvm-svn: 142081
* ARM cannot select a pattern for trunc-store v4i8; /ARM/vrev.ll fails when ↵Nadav Rotem2011-10-151-0/+2
| | | | | | promoting elements. llvm-svn: 142080
* Fix extra whitespace in comment.Nick Lewycky2011-10-151-1/+1
| | | | llvm-svn: 142079
* Let this test pass even if 'int' is somewhere in its directory path.Nico Weber2011-10-151-1/+1
| | | | | | | | | | | On my machine, grep matched: ; ModuleID = '/Volumes/MacintoshHD2/src/chrome-git/src/third_party/llvm/test/Linker/2011-08-18-unique-debug-type.ll' !9 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] Explicitly filter out the ModuleID line. llvm-svn: 142077
* SmallVector -> arrayBenjamin Kramer2011-10-151-3/+3
| | | | llvm-svn: 142073
* Don't replace all dominated uses if there is only one use, since thatDuncan Sands2011-10-151-4/+9
| | | | | | use can't be dominated, saving one domtree lookup. llvm-svn: 142066
* Add a bad char heuristic to StringRef::find.Benjamin Kramer2011-10-152-3/+32
| | | | | | | | | Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways. The worst case is still O(n*m) but we do a lot better on the average case now. llvm-svn: 142061
* Move the legalization of vector loads and stores into LegalizeVectorOps. In someNadav Rotem2011-10-152-183/+123
| | | | | | cases we need the second type-legalization pass in order to support all cases. llvm-svn: 142060
* Fix SCEVExpander assert during LSR: "argument of incompatible type".Andrew Trick2011-10-153-8/+33
| | | | | | | | | Just because we're dealing with a GEP doesn't mean we can assert the SCEV has a pointer type. The fix is simply to ignore the SCEV pointer type, which we really didn't need. Fixes PR11138 webkit crash. llvm-svn: 142058
* Revert r142046, "Fix for llvm::sys::getHostTriple on Windows. Instead of ↵NAKAMURA Takumi2011-10-151-36/+4
| | | | | | | | | | relying on the triple" It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects. By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-". llvm-svn: 142055
* Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the tripleChad Rosier2011-10-151-4/+36
| | | | | | | | from config.h, it discovers the triple based on the execution environment. Patch by Aaron Ballman <aaron@aaronballman.com> llvm-svn: 142046
* ToT is now for 3.1.Bill Wendling2011-10-152-10/+10
| | | | llvm-svn: 142044
* Windows/Memory.inc: Support the ability to allocate memory "near" another ↵NAKAMURA Takumi2011-10-151-2/+7
| | | | | | | | block of memory on Win32. It has fixed FIXME. Thanks to Aaron Ballman! llvm-svn: 142039
* Fix indvars randomness by removing iteration over a map.Andrew Trick2011-10-151-12/+12
| | | | | | | | | | | | | I rewrote the algorithm a while back so it doesn't require map lookup, but neglected to change the data structure. This was caught by llvm-gcc self host, not because there's anything special about llvm-gcc, but because it is the only test for nondeterminism we currently have. Unit tests don't work well for everything; we should always try to have a nondeterminism stress test running. Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false llvm-svn: 142036
* Clear out the landing pad to call site map for each function.Bill Wendling2011-10-151-0/+1
| | | | | | | This isn't put into the 'clear()' method because the information needs to stick around (at least for a little bit) after the selection DAG is built. llvm-svn: 142032
* Mark tADDrSPi as having side effects again.Jakob Stoklund Olesen2011-10-151-3/+3
| | | | | | | | | | | It really doesn't, but when r141929 removed the hasSideEffects flag from this instruction, it caused miscompilations. I am guessing that it got moved across a stack pointer update. Also clear isRematerializable after checking that this instruction is in fact never rematerialized in the nightly test suite. llvm-svn: 142030
* Mention some of the improvements in Clang 3.0 over 2.9.Douglas Gregor2011-10-151-0/+15
| | | | llvm-svn: 142029
* Thumb1 does not support dynamic stack realignment.Chad Rosier2011-10-151-0/+5
| | | | | | | | | | | rdar://10288916 is tracking this fix. In the past, instcombine and other passes were promoting alloca alignment past the natural alignment, resulting in dynamic stack realignment. Lang's work now prevents this from happening (LLVM commit r141599). Now that this really shouldn't happen report a fatal error rather than silently generate bad code. llvm-svn: 142028
* Mark registers as DEAD because they're really just clobbers.Bill Wendling2011-10-151-1/+1
| | | | llvm-svn: 142027
* Add missing correctness check to ARMTargetLowering::ReconstructShuffle. ↵Eli Friedman2011-10-142-0/+25
| | | | | | Fixes PR11129. llvm-svn: 142022
* Make sure that the register is in the register class before adding it as a ↵Bill Wendling2011-10-141-1/+3
| | | | | | machine op. llvm-svn: 142021
* Mark the invoke call instruction as implicitly defining the callee-saved ↵Bill Wendling2011-10-141-2/+31
| | | | | | | | | | registers. The callee-saved registers cannot be live across an invoke call because the control flow may continue along the exceptional edge. When this happens, all of the callee-saved registers are no longer valid. llvm-svn: 142018
* constify array itself, don't iterate multiple times.Chris Lattner2011-10-141-2/+2
| | | | llvm-svn: 142013
* Allow the source module to be materialized during the linking process.Tanya Lattner2011-10-141-2/+11
| | | | llvm-svn: 142010
* Update test for disabling of code/data marker labels in ELF.Owen Anderson2011-10-141-2/+2
| | | | llvm-svn: 142003
* Fix a non-firing assert. Change:Richard Trieu2011-10-141-1/+1
| | | | | | | | assert("bad SymbolicOp.VariantKind"); To: assert(0 && "bad SymbolicOp.VariantKind"); llvm-svn: 142000
* OCaml bindings: add some missing functions and testcases.Torok Edwin2011-10-148-4/+301
| | | | | | The C bindings exposed some APIs that weren't covered by the OCaml bindings llvm-svn: 141997
* OCaml bindings: fix attributes to use all 32 bitsTorok Edwin2011-10-143-42/+120
| | | | | | | | | OCaml's int is limited to 31 bits on 32-bit architectures, so use Int32 explicitly. Also add an unpack_attr, and {function,param,instr}_attr functions to read the attributes. llvm-svn: 141996
* OCaml bindings: add icmp_predicateTorok Edwin2011-10-141-0/+2
| | | | llvm-svn: 141995
* OCaml bindings: fix infinite recursion on string_of_lltypeTorok Edwin2011-10-142-1/+18
| | | | llvm-svn: 141994
* bindings: named struct supportTorok Edwin2011-10-143-1/+49
| | | | llvm-svn: 141993
* ocaml bindings: add findlib META supportTorok Edwin2011-10-144-1/+88
| | | | | | | This makes it easier to link against LLVM libs, especially if you are using _oasis. llvm-svn: 141992
* ocaml bindings: introduce classify_valueTorok Edwin2011-10-144-3/+126
| | | | llvm-svn: 141991
* ocaml bindings: add getopcode for constant and instruction, and int64_of_const.Torok Edwin2011-10-145-1/+185
| | | | llvm-svn: 141990
* bindings: tab and indentation fixes of my previous commitsTorok Edwin2011-10-142-56/+56
| | | | llvm-svn: 141989
* A few 80-col violations.Evan Cheng2011-10-142-5/+10
| | | | llvm-svn: 141988
* Disable code/data region symbols on ELF targets, where different mapping ↵Owen Anderson2011-10-141-1/+1
| | | | | | symbols are used for ARM/Thumb mode code. This should only be re-enabled once we have a solution to properly distinguish these. llvm-svn: 141984
* Add an implementation of the CanLowerReturn function to the PPC backendHal Finkel2011-10-142-0/+17
| | | | llvm-svn: 141981
* Add f128 to datalayout string.Akira Hatanaka2011-10-141-2/+2
| | | | llvm-svn: 141978
* Fix threads/jobs CalculationDavid Greene2011-10-141-3/+4
| | | | | | | | Pass the correct jobs and threads information to the builder. We were underutilizing the number of jobs and threads specified by the user. llvm-svn: 141977
* Add Helpful MessagesDavid Greene2011-10-141-0/+3
| | | | | | | Bit just a bit more verbose about what's going on. Print options to make to aid debugging. llvm-svn: 141976
* Add Option to Skip InstallDavid Greene2011-10-141-4/+7
| | | | | | | Add a --no-install option to skip installing components. This speeds up the develop/test cycle. llvm-svn: 141975
* Add Option to Skip gcc BuildDavid Greene2011-10-141-0/+8
| | | | | | | And a --no-gcc option to skip dragonegg and gcc builds. This greatly speeds up the develop/test cycle. llvm-svn: 141974
* initial test commit (remove whitespace)Hal Finkel2011-10-141-2/+2
| | | | llvm-svn: 141972
* Update live-in lists when splitting critical edges.Jakob Stoklund Olesen2011-10-143-4/+108
| | | | | | Fixes PR10814. Patch by Jan Sjödin! llvm-svn: 141960
* Revert r141932, r141936 and r141937.Akira Hatanaka2011-10-144-299/+1
| | | | llvm-svn: 141959
* Fix typo. "__sync_fetch_and-xor_4" should be "__sync_fetch_and_xor_4".Jim Grosbach2011-10-141-1/+1
| | | | | | Pointed out by George Russell. llvm-svn: 141956
* An instruction's operands aren't necessarily instructions or constants. TheyNick Lewycky2011-10-141-1/+2
| | | | | | | | could be arguments, for example. No testcase because this is a bug-fix broken out of a larger optimization patch. llvm-svn: 141951
* Add X86 ANDN instruction. Including instruction selection.Craig Topper2011-10-148-2/+82
| | | | llvm-svn: 141947
OpenPOWER on IntegriCloud