summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Unbreak mingw buildAnton Korobeynikov2007-12-221-1/+2
| | | | llvm-svn: 45314
* Preliminary PIC JIT support for X86 (32-bit) / Darwin.Evan Cheng2007-12-225-65/+89
| | | | llvm-svn: 45313
* Oops.Evan Cheng2007-12-221-2/+1
| | | | llvm-svn: 45312
* implement InstCombine/shift-trunc-shift.ll. This allowsChris Lattner2007-12-222-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | us to compile: #include <math.h> int t1(double d) { return signbit(d); } into: _t1: movd %xmm0, %rax shrq $63, %rax ret instead of: _t1: movd %xmm0, %rax shrq $32, %rax shrl $31, %eax ret on x86-64. llvm-svn: 45311
* Note what still needs doing.Owen Anderson2007-12-221-1/+6
| | | | llvm-svn: 45310
* Remove critical edge breaking. It won't be necessary as long as we are very ↵Owen Anderson2007-12-221-37/+0
| | | | | | careful when inserting copies. llvm-svn: 45309
* Fix JIT code emission of X86::MovePCtoStack.Evan Cheng2007-12-222-5/+7
| | | | llvm-svn: 45307
* If succ has succ itself as one of the predecessors then doDevang Patel2007-12-222-2/+62
| | | | | | | not merge current bb and succ even if bb's terminator is unconditional branch to succ. llvm-svn: 45305
* Allow JIT with non-static relocation model.Evan Cheng2007-12-221-1/+2
| | | | llvm-svn: 45304
* Fix silly typo in the FP CEP handling.Anton Korobeynikov2007-12-211-0/+1
| | | | llvm-svn: 45300
* Fix a brain fart by our beloved leader (the contentDuncan Sands2007-12-211-4/+3
| | | | | | of this patch is the last line). llvm-svn: 45289
* Get the verifier to check attributes on calls as wellDuncan Sands2007-12-212-74/+107
| | | | | | | | | | as on functions. Make it verify invokes and not just ordinary calls. As a (desired) side-effect, it is no longer legal to have call attributes on arguments that are being passed to the varargs part of a varargs function (llvm-as drops them on the floor anyway). llvm-svn: 45286
* Make DAE not wipe out attributes on calls, and not dropDuncan Sands2007-12-213-38/+75
| | | | | | | | | | | | | | | return attributes on the floor. In the case of a call to a varargs function where the varargs arguments are being removed, any call attributes on those arguments need to be dropped. I didn't do this because I plan to make it illegal to have such attributes (see next patch). With this change, compiling the gcc filter2 eh test at -O0 and then running opt -std-compile-opts on it results in a correctly working program (compiling at -O1 or higher results in the test failing due to a problem with how we output eh info into the IR). llvm-svn: 45285
* Fix unintented change from last commitNicolas Geoffray2007-12-211-3/+3
| | | | llvm-svn: 45282
* Enable EH for linux/ppc32 targetsNicolas Geoffray2007-12-212-15/+33
| | | | llvm-svn: 45281
* New entry.Evan Cheng2007-12-211-0/+15
| | | | llvm-svn: 45280
* Add a few more missing gcc builtin's.Evan Cheng2007-12-211-8/+8
| | | | llvm-svn: 45278
* Removed scoped_ptr, as its functionality is subsumed by OwningPtr.Ted Kremenek2007-12-211-124/+0
| | | | llvm-svn: 45274
* Fix JIT encoding for CMPSD as well.Evan Cheng2007-12-202-4/+8
| | | | llvm-svn: 45268
* Added OwningArrayPtr smart pointer class to provide an analogous class toTed Kremenek2007-12-201-0/+54
| | | | | | OwningPtr except that it works for pointers to arrays. llvm-svn: 45266
* add new smart pointer for clang.Chris Lattner2007-12-201-0/+79
| | | | llvm-svn: 45261
* Type specification didn't match gcc's.Evan Cheng2007-12-201-1/+1
| | | | llvm-svn: 45260
* More accurate checks for two-address constraints.Evan Cheng2007-12-201-8/+40
| | | | llvm-svn: 45259
* Implement review feedback, including additional transformsChristopher Lamb2007-12-202-17/+40
| | | | | | | | | (icmp slt (sub A B) 1) -> (icmp sle A B) icmp sgt (sub A B) -1) -> (icmp sge A B) and add testcase. llvm-svn: 45256
* Add m_Zero(). Chris Lattner2007-12-201-0/+18
| | | | llvm-svn: 45255
* Remove xfail. This is fixed.Evan Cheng2007-12-201-1/+0
| | | | llvm-svn: 45254
* The physical register + virtual register joining requirement was much too ↵Evan Cheng2007-12-201-1/+1
| | | | | | strict. llvm-svn: 45253
* Bring back a burr scheduling heuristic that's still needed.Evan Cheng2007-12-201-5/+34
| | | | llvm-svn: 45252
* Clean up previous patch: PHI uses should not prevent iv reuse if all other ↵Evan Cheng2007-12-201-35/+16
| | | | | | uses are addresses. This trades a constant multiply for one fewer iv. llvm-svn: 45251
* simplify this code with the new m_Zero() pattern. Make sure the select onlyChris Lattner2007-12-201-18/+10
| | | | | | has a single use, and generalize it to not require N to be a constant. llvm-svn: 45250
* Revert my previous check-in.Devang Patel2007-12-202-7/+2
| | | | llvm-svn: 45249
* More eye-candy stuff :)Anton Korobeynikov2007-12-201-14/+9
| | | | llvm-svn: 45247
* Add iterators for child traversal.Anton Korobeynikov2007-12-201-13/+29
| | | | llvm-svn: 45246
* Updated comments to reflect what "side effects" means in this situation.Bill Wendling2007-12-201-10/+3
| | | | llvm-svn: 45245
* More working CellSPU tests:Scott Michel2007-12-208-60/+306
| | | | | | | - vec_const.ll: Vector constant loads - immed64.ll: i64, f64 constant loads llvm-svn: 45242
* Add lto version check mechanism.Devang Patel2007-12-202-2/+7
| | | | llvm-svn: 45238
* Use a module to group calling convention values, too.Gordon Henriksen2007-12-203-13/+17
| | | | llvm-svn: 45236
* Allow iv reuse if the user is a PHI node which is in turn used as addresses.Evan Cheng2007-12-191-29/+82
| | | | llvm-svn: 45230
* Using modules to group enumerations in Ocaml bindings.Gordon Henriksen2007-12-194-186/+204
| | | | llvm-svn: 45229
* Adding bindings for memory buffers and module providers. SwitchingGordon Henriksen2007-12-1916-155/+351
| | | | | | to exceptions rather than variants for error handling in Ocaml. llvm-svn: 45226
* Enable EH on PPC Darwin. This basically works; thereDale Johannesen2007-12-191-1/+1
| | | | | | | | | | | | are a couple of issues that show up with the optimizer, but I don't think they're really EH problems. (llvm-gcc testsuite users note: By default the testsuite uses the unwinding code that's built as part of your local llvm-gcc, which does not work. You need to trick it into using the installed system unwinding code to get useful results.) llvm-svn: 45221
* CellSPU testcase, extract_elt.ll: extract vector element.Scott Michel2007-12-192-2/+180
| | | | llvm-svn: 45219
* When inlining through an 'nounwind' call, mark inlinedDuncan Sands2007-12-199-21/+114
| | | | | | | | | calls 'nounwind'. It is important for correct C++ exception handling that nounwind markings do not get lost, so this transformation is actually needed for correctness. llvm-svn: 45218
* More working CellSPU test cases:Scott Michel2007-12-1912-0/+1164
| | | | | | | | | | | | | | | | | - call.ll: Function call - ctpop.ll: Count population - dp_farith.ll: DP arithmetic - eqv.ll: Equivalence primitives - fcmp.ll: SP comparisons - fdiv.ll: SP division - fneg-fabs.ll: SP negation, aboslute value - int2fp.ll: Integer -> SP conversion - rotate_ops.ll: Rotation primitives - select_bits.ll: (a & c) | (b & ~c) bit selection - shift_ops.ll: Shift primitives - sp_farith.ll: SP arithmentic llvm-svn: 45217
* Two more test cases: or_ops.ll (arithmetic or operations) and vecinsert.llScott Michel2007-12-195-6/+325
| | | | | | (vector insertions) llvm-svn: 45216
* fix formattingChris Lattner2007-12-191-1/+1
| | | | llvm-svn: 45214
* Simplify LowerCallTo by using a callsite.Duncan Sands2007-12-191-41/+27
| | | | llvm-svn: 45198
* The C++ exception handling personality function wantsDuncan Sands2007-12-193-28/+60
| | | | | | | | | | | | | | | | | | | | | | | to know about calls that cannot throw ('nounwind'): if such a call does throw for some reason then the personality will terminate the program. The distinction between an ordinary call and a nounwind call is that an ordinary call gets an entry in the exception table but a nounwind call does not. This patch sets up the exception table appropriately. One oddity is that I've chosen to bracket nounwind calls with labels (like invokes) - the other choice would have been to bracket ordinary calls with labels. While bracketing ordinary calls is more natural (because bracketing by labels would then correspond exactly to getting an entry in the exception table), I didn't do it because introducing labels impedes some optimizations and I'm guessing that ordinary calls occur more often than nounwind calls. This fixes the gcc filter2 eh test, at least at -O0 (the inliner needs some tweaking at higher optimization levels). llvm-svn: 45197
* Add new immed16.ll test case, fix CellSPU errata to make test case work.Scott Michel2007-12-196-13/+61
| | | | llvm-svn: 45196
* Modified to support comments better.Bill Wendling2007-12-191-53/+42
| | | | llvm-svn: 45192
OpenPOWER on IntegriCloud