aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ToT is now for 3.1.Bill Wendling2011-10-152-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142044 91177308-0d34-0410-b5e6-96231b3b80d8
* 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142039 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142036 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142032 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142030 91177308-0d34-0410-b5e6-96231b3b80d8
* Mention some of the improvements in Clang 3.0 over 2.9.Douglas Gregor2011-10-151-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142029 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142028 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark registers as DEAD because they're really just clobbers.Bill Wendling2011-10-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142027 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing correctness check to ARMTargetLowering::ReconstructShuffle. ↵Eli Friedman2011-10-142-0/+25
| | | | | | Fixes PR11129. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142022 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that the register is in the register class before adding it as a ↵Bill Wendling2011-10-141-1/+3
| | | | | | machine op. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142021 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142018 91177308-0d34-0410-b5e6-96231b3b80d8
* constify array itself, don't iterate multiple times.Chris Lattner2011-10-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142013 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the source module to be materialized during the linking process.Tanya Lattner2011-10-141-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142010 91177308-0d34-0410-b5e6-96231b3b80d8
* Update test for disabling of code/data marker labels in ELF.Owen Anderson2011-10-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142003 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a non-firing assert. Change:Richard Trieu2011-10-141-1/+1
| | | | | | | | | assert("bad SymbolicOp.VariantKind"); To: assert(0 && "bad SymbolicOp.VariantKind"); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142000 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141997 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141996 91177308-0d34-0410-b5e6-96231b3b80d8
* OCaml bindings: add icmp_predicateTorok Edwin2011-10-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141995 91177308-0d34-0410-b5e6-96231b3b80d8
* OCaml bindings: fix infinite recursion on string_of_lltypeTorok Edwin2011-10-142-1/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141994 91177308-0d34-0410-b5e6-96231b3b80d8
* bindings: named struct supportTorok Edwin2011-10-143-1/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141993 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141992 91177308-0d34-0410-b5e6-96231b3b80d8
* ocaml bindings: introduce classify_valueTorok Edwin2011-10-144-3/+126
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141991 91177308-0d34-0410-b5e6-96231b3b80d8
* ocaml bindings: add getopcode for constant and instruction, and int64_of_const.Torok Edwin2011-10-145-1/+185
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141990 91177308-0d34-0410-b5e6-96231b3b80d8
* bindings: tab and indentation fixes of my previous commitsTorok Edwin2011-10-142-56/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141989 91177308-0d34-0410-b5e6-96231b3b80d8
* A few 80-col violations.Evan Cheng2011-10-142-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141988 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141984 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an implementation of the CanLowerReturn function to the PPC backendHal Finkel2011-10-142-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141981 91177308-0d34-0410-b5e6-96231b3b80d8
* Add f128 to datalayout string.Akira Hatanaka2011-10-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141978 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141977 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141976 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141975 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141974 91177308-0d34-0410-b5e6-96231b3b80d8
* initial test commit (remove whitespace)Hal Finkel2011-10-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141972 91177308-0d34-0410-b5e6-96231b3b80d8
* Update live-in lists when splitting critical edges.Jakob Stoklund Olesen2011-10-143-4/+108
| | | | | | Fixes PR10814. Patch by Jan Sjödin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141960 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r141932, r141936 and r141937.Akira Hatanaka2011-10-144-299/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141959 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141956 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141951 91177308-0d34-0410-b5e6-96231b3b80d8
* Add X86 ANDN instruction. Including instruction selection.Craig Topper2011-10-148-2/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141947 91177308-0d34-0410-b5e6-96231b3b80d8
* Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 ↵Craig Topper2011-10-148-5/+107
| | | | | | processor which is gcc's name for Haswell. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141939 91177308-0d34-0410-b5e6-96231b3b80d8
* Definition of function getMipsRegisterNumbering.Akira Hatanaka2011-10-141-0/+113
| | | | | | | Patch by Jack Carter and Reed Kotler at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141938 91177308-0d34-0410-b5e6-96231b3b80d8
* Add definition of class MipsELFWriterInfo. Akira Hatanaka2011-10-143-0/+276
| | | | | | | Patch by Jack Carter and Reed Kotler at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141937 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing relocation types.Akira Hatanaka2011-10-141-1/+3
| | | | | | | Patch by Jack Carter and Reed Kotler at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141936 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ELF relocation types for Mips.Akira Hatanaka2011-10-141-1/+55
| | | | | | | Patch by Jack Carter and Reed Kotler at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141935 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixup enumerations.Akira Hatanaka2011-10-141-0/+90
| | | | | | | Patch by Jack Carter at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141934 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more Mips relocation types.Akira Hatanaka2011-10-141-1/+21
| | | | | | | Patch by Jack Carter at Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141932 91177308-0d34-0410-b5e6-96231b3b80d8
* Ban rematerializable instructions with side effects.Jakob Stoklund Olesen2011-10-145-11/+19
| | | | | | | | | | TableGen infers unmodeled side effects on instructions without a pattern. Fix some instruction definitions where that was overlooked. Also raise an error if a rematerializable instruction has unmodeled side effects. That doen't make any sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141929 91177308-0d34-0410-b5e6-96231b3b80d8
* V_SET0 has no side effects.Jakob Stoklund Olesen2011-10-141-1/+1
| | | | | | | | | | TableGen will mark any pattern-less instruction as having unmodeled side effects. This is extra bad for V_SET0 which gets rematerialized a lot. This was part of the cause for PR11125, but the real bug was fixed in r141923. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141924 91177308-0d34-0410-b5e6-96231b3b80d8
* Add value numbers when spilling dead defs.Jakob Stoklund Olesen2011-10-142-1/+28
| | | | | | | | | | | | | | | | When spilling around an instruction with a dead def, remember to add a value number for the def. The missing value number wouldn't normally create problems since there would be an incoming live range as well. However, due to another bug we could spill a dead V_SET0 instruction which doesn't read any values. The missing value number caused an empty live range to be created which is dangerous since it doesn't interfere with anything. This fixes part of PR11125. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141923 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid undefined behavior in negation in LSR. Patch by Ahmed Charles.Eli Friedman2011-10-131-2/+2
| | | | | | | | Someone more familiar with LSR should double-check that the extra cast is actually doing the right thing in the overflow cases; I'm not completely confident that's that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141916 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix undefined shift. Patch by Ahmed Charles.Eli Friedman2011-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141914 91177308-0d34-0410-b5e6-96231b3b80d8