aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Hopefully this will fix the build on VS. I can't replicate theOscar Fuentes2009-08-162-1/+1
| | | | | | | | | | | | | failure with VS 9.0, nmake and cmake 2.6.4. The buildbot output does not show the patch level of cmake, it just says 2.6. Sadly, parallel builds are broken due to recent changes on LLVM Target libraries and its auxiliaries (TargetInfo, AsmPrinter, AsmParser). I have a patch for stablishing the correct dependencies, but cmake is buggy and generates makefiles that can't handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79180 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Revert r79144. It reverted a change necessary for correctOscar Fuentes2009-08-162-0/+9
| | | | | | | parallel builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79177 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for external symbols + X86::MOVPC32r.Chris Lattner2009-08-162-59/+123
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79175 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR3016: detect the tricky case, where there are Eli Friedman2009-08-162-60/+37
| | | | | | | | | | | | | | | | | | unfoldable references to a PHI node in the block being folded, and disable the transformation in that case. The correct transformation of such PHI nodes depends on whether BB dominates Succ, and dominance is expensive to compute here. (Alternatively, it's possible to check whether any uses are live, but that's also essentially a dominance calculation. Another alternative is to use reg2mem, but it probably isn't a good idea to use that in simplifycfg.) Also, remove some incorrect code from CanPropagatePredecessorsForPHIs which is made unnecessary with this patch: it didn't consider the case where a PHI node in BB has multiple uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79174 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for lowering references to global addresses. For example, ↵Chris Lattner2009-08-162-5/+53
| | | | | | | | | | | | | | | we now can asmprint: NEW: movl "L___stack_chk_guard$non_lazy_ptr", %eax OLD: movl L___stack_chk_guard$non_lazy_ptr, %eax where 'new' is coming out of the MCInst version of the printer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79170 91177308-0d34-0410-b5e6-96231b3b80d8
* more formatting improvements, no functionality change.Chris Lattner2009-08-161-57/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79167 91177308-0d34-0410-b5e6-96231b3b80d8
* code formatting improvements, no functionality change.Chris Lattner2009-08-161-74/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79165 91177308-0d34-0410-b5e6-96231b3b80d8
* when emitting errors about CHECK-NEXT directives, show the line that the Chris Lattner2009-08-161-2/+6
| | | | | | | CHECK-NEXT is on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79164 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an llvm-c function that lets you insert an instruction with a name.Erick Tryzelaar2009-08-165-0/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79163 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose most of the Constant creation functions to ocaml.Erick Tryzelaar2009-08-163-4/+148
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79162 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose most of the IRBuilder functionality to ocaml.Erick Tryzelaar2009-08-163-3/+315
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79161 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose most of the Constant creation functions to llvm-c.Erick Tryzelaar2009-08-162-2/+108
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79160 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose most of the rest of IRBuilder's functions to llvm-c.Erick Tryzelaar2009-08-162-0/+140
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79159 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more casts to the IRBuilder.Erick Tryzelaar2009-08-162-1/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79158 91177308-0d34-0410-b5e6-96231b3b80d8
* Needs to check whether unaligned load / store of i64 is legal here.Evan Cheng2009-08-151-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79150 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove <iostream>.Bill Wendling2009-08-151-20/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79146 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 78996. It was breaking MSVC builds.Benjamin Kramer2009-08-152-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79144 91177308-0d34-0410-b5e6-96231b3b80d8
* Mingw also doesn't have st_blksize.Dan Gohman2009-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79142 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test on Linux.Eli Friedman2009-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79140 91177308-0d34-0410-b5e6-96231b3b80d8
* An overhaul of the exception handling code. This is arguably more correct thanBill Wendling2009-08-151-55/+81
| | | | | | | | | | | | | | what was there before. In "no FP mode", we weren't generating labels and unwind table entries after each "push" instruction. While more than likely "okay", it's not technically correct. The major thing was that the ordering of when to define a new CFA register and at what offset wasn't correct. This would cause the exception handling to fail in ways most miserable to users. I also cleaned up some code a bit. There's one function which has a "return" at the beginning, so it's never used. Should I just remove it? :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79139 91177308-0d34-0410-b5e6-96231b3b80d8
* Add svn:ignore to a couple of directories.Eli Friedman2009-08-150-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79138 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r79127. It was fixed by d0k.Bill Wendling2009-08-157-33/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79136 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r79127. It was causing compilation errors.Bill Wendling2009-08-157-76/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79135 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to get the context from an erased Instruction.Benjamin Kramer2009-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79134 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build. Evan, please make sure my changes are correct.Benjamin Kramer2009-08-153-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79133 91177308-0d34-0410-b5e6-96231b3b80d8
* SSI construction should just go ahead and ignore instructions in unreachableNick Lewycky2009-08-152-2/+25
| | | | | | | blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79132 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix validation errors.Bill Wendling2009-08-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79131 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix validation errors.Bill Wendling2009-08-151-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79130 91177308-0d34-0410-b5e6-96231b3b80d8
* Change allowsUnalignedMemoryAccesses to take type argument since some targetsEvan Cheng2009-08-157-33/+76
| | | | | | | | | | | support unaligned mem access only for certain types. (Should it be size instead?) ARM v7 supports unaligned access for i16 and i32, some v6 variants support it as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79127 91177308-0d34-0410-b5e6-96231b3b80d8
* wrap to 80 colsChris Lattner2009-08-151-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79124 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for CHECK-NEXT: in filecheck.Chris Lattner2009-08-153-37/+157
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79123 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine EarlyClobber assert in register scavenger.Jakob Stoklund Olesen2009-08-152-1/+43
| | | | | | | | | | | | | | It is legal for an inline asm operand to use an earlyclobber register if the use operand is tied to the earlyclobber operand. The issue is discussed here: http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html We should perhaps let only the machine code verifier worry about these finer details. EarlyClobber operands are not really interesting to the scavenger. This fixes PR4528 for the third time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79122 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify some code.Chris Lattner2009-08-151-8/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79121 91177308-0d34-0410-b5e6-96231b3b80d8
* rewrite FindStringInBuffer to use an explicit loop instead ofChris Lattner2009-08-151-19/+27
| | | | | | | | | trying to wrap strstr which is just too inconvenient. Make it use a StringRef to avoid ".c_str()" calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79120 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of using an std::pair, use a custom struct.Chris Lattner2009-08-151-12/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79119 91177308-0d34-0410-b5e6-96231b3b80d8
* specify a target triple so global variable manglings are consistent etc.Chris Lattner2009-08-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79118 91177308-0d34-0410-b5e6-96231b3b80d8
* convert to filecheck.Chris Lattner2009-08-151-3/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79117 91177308-0d34-0410-b5e6-96231b3b80d8
* rename this test to sse2.llChris Lattner2009-08-151-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79116 91177308-0d34-0410-b5e6-96231b3b80d8
* merge a bunch more sse3 tests into sse3.llChris Lattner2009-08-1511-174/+252
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79115 91177308-0d34-0410-b5e6-96231b3b80d8
* convert test to filecheck format.Chris Lattner2009-08-151-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79114 91177308-0d34-0410-b5e6-96231b3b80d8
* rename testChris Lattner2009-08-151-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79113 91177308-0d34-0410-b5e6-96231b3b80d8
* this is a test for sse3, simplify it.Chris Lattner2009-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79112 91177308-0d34-0410-b5e6-96231b3b80d8
* the .eh_frame sections we generate need to be writable (whichChris Lattner2009-08-151-1/+2
| | | | | | | | is why they are datarel). This should fix PR4724, and is fallout from r78890. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79111 91177308-0d34-0410-b5e6-96231b3b80d8
* document filecheck.Chris Lattner2009-08-151-3/+87
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79110 91177308-0d34-0410-b5e6-96231b3b80d8
* fix pasto noticed by JakubChris Lattner2009-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79109 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new API for creating an OpaqueType.Nicolas Geoffray2009-08-151-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79107 91177308-0d34-0410-b5e6-96231b3b80d8
* add a stub for futher description of filecheck.Chris Lattner2009-08-151-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79106 91177308-0d34-0410-b5e6-96231b3b80d8
* add a simple FileCheck man page.Chris Lattner2009-08-152-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79105 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy upChris Lattner2009-08-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79101 91177308-0d34-0410-b5e6-96231b3b80d8
* Update cpp generation with new LLVM API for primitive types.Nicolas Geoffray2009-08-151-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79098 91177308-0d34-0410-b5e6-96231b3b80d8