summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Clean up the public interface of RegScavenger.Jakob Stoklund Olesen2009-08-162-44/+20
| | | | | | Remove unused methods and make others private. llvm-svn: 79194
* Be more clever about regclasses in ScheduleDAGSDNodes::EmitCopyFromReg.Jakob Stoklund Olesen2009-08-161-5/+5
| | | | | | | | If two uses of a CopyFromReg want different regclasses, first try a common sub-class, then fall back on the copy emitted in AddRegisterOperand. There is no need for an assert here. The cross-class joiner usually cleans up nicely. llvm-svn: 79193
* Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used ↵Benjamin Kramer2009-08-161-1/+4
| | | | | | after erasure. llvm-svn: 79189
* Styalistic and format changes. No functionality change.Bill Wendling2009-08-161-73/+85
| | | | llvm-svn: 79187
* Fix the MSVC build again.Benjamin Kramer2009-08-161-1/+1
| | | | llvm-svn: 79186
* 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. llvm-svn: 79180
* CMake: Revert r79144. It reverted a change necessary for correctOscar Fuentes2009-08-162-0/+9
| | | | | | parallel builds. llvm-svn: 79177
* add support for external symbols + X86::MOVPC32r.Chris Lattner2009-08-162-59/+123
| | | | llvm-svn: 79175
* 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. llvm-svn: 79174
* 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. llvm-svn: 79170
* more formatting improvements, no functionality change.Chris Lattner2009-08-161-57/+65
| | | | llvm-svn: 79167
* code formatting improvements, no functionality change.Chris Lattner2009-08-161-74/+85
| | | | llvm-svn: 79165
* when emitting errors about CHECK-NEXT directives, show the line that the Chris Lattner2009-08-161-2/+6
| | | | | | CHECK-NEXT is on. llvm-svn: 79164
* Add an llvm-c function that lets you insert an instruction with a name.Erick Tryzelaar2009-08-165-0/+22
| | | | llvm-svn: 79163
* Expose most of the Constant creation functions to ocaml.Erick Tryzelaar2009-08-163-4/+148
| | | | llvm-svn: 79162
* Expose most of the IRBuilder functionality to ocaml.Erick Tryzelaar2009-08-163-3/+315
| | | | llvm-svn: 79161
* Expose most of the Constant creation functions to llvm-c.Erick Tryzelaar2009-08-162-2/+108
| | | | llvm-svn: 79160
* Expose most of the rest of IRBuilder's functions to llvm-c.Erick Tryzelaar2009-08-162-0/+140
| | | | llvm-svn: 79159
* Add more casts to the IRBuilder.Erick Tryzelaar2009-08-162-1/+52
| | | | llvm-svn: 79158
* Needs to check whether unaligned load / store of i64 is legal here.Evan Cheng2009-08-151-4/+3
| | | | llvm-svn: 79150
* Remove <iostream>.Bill Wendling2009-08-151-20/+17
| | | | llvm-svn: 79146
* Revert 78996. It was breaking MSVC builds.Benjamin Kramer2009-08-152-9/+0
| | | | llvm-svn: 79144
* Mingw also doesn't have st_blksize.Dan Gohman2009-08-151-1/+1
| | | | llvm-svn: 79142
* Fix test on Linux.Eli Friedman2009-08-151-1/+1
| | | | llvm-svn: 79140
* 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? :-) llvm-svn: 79139
* Reapply r79127. It was fixed by d0k.Bill Wendling2009-08-157-33/+76
| | | | llvm-svn: 79136
* Revert r79127. It was causing compilation errors.Bill Wendling2009-08-157-76/+33
| | | | llvm-svn: 79135
* Don't try to get the context from an erased Instruction.Benjamin Kramer2009-08-151-1/+1
| | | | llvm-svn: 79134
* Unbreak build. Evan, please make sure my changes are correct.Benjamin Kramer2009-08-153-6/+5
| | | | llvm-svn: 79133
* SSI construction should just go ahead and ignore instructions in unreachableNick Lewycky2009-08-152-2/+25
| | | | | | blocks. llvm-svn: 79132
* Fix validation errors.Bill Wendling2009-08-151-3/+3
| | | | llvm-svn: 79131
* Fix validation errors.Bill Wendling2009-08-151-11/+11
| | | | llvm-svn: 79130
* 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. llvm-svn: 79127
* wrap to 80 colsChris Lattner2009-08-151-2/+4
| | | | llvm-svn: 79124
* implement support for CHECK-NEXT: in filecheck.Chris Lattner2009-08-153-37/+157
| | | | llvm-svn: 79123
* 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. llvm-svn: 79122
* simplify some code.Chris Lattner2009-08-151-8/+13
| | | | llvm-svn: 79121
* 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. llvm-svn: 79120
* Instead of using an std::pair, use a custom struct.Chris Lattner2009-08-151-12/+21
| | | | llvm-svn: 79119
* specify a target triple so global variable manglings are consistent etc.Chris Lattner2009-08-151-1/+2
| | | | llvm-svn: 79118
* convert to filecheck.Chris Lattner2009-08-151-3/+18
| | | | llvm-svn: 79117
* rename this test to sse2.llChris Lattner2009-08-151-0/+0
| | | | llvm-svn: 79116
* merge a bunch more sse3 tests into sse3.llChris Lattner2009-08-1511-174/+252
| | | | llvm-svn: 79115
* convert test to filecheck format.Chris Lattner2009-08-151-7/+17
| | | | llvm-svn: 79114
* rename testChris Lattner2009-08-151-0/+0
| | | | llvm-svn: 79113
* this is a test for sse3, simplify it.Chris Lattner2009-08-151-1/+1
| | | | llvm-svn: 79112
* 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. llvm-svn: 79111
* document filecheck.Chris Lattner2009-08-151-3/+87
| | | | llvm-svn: 79110
* fix pasto noticed by JakubChris Lattner2009-08-151-1/+1
| | | | llvm-svn: 79109
* Use the new API for creating an OpaqueType.Nicolas Geoffray2009-08-151-2/+4
| | | | llvm-svn: 79107
OpenPOWER on IntegriCloud