#
33f80d23 |
| 05-Jan-2010 |
Devang Patel <dpatel@apple.com> |
Delete renaming use of dead dbg intrinsics.
Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start
llvm-svn: 92672
|
#
dca0c284 |
| 10-Nov-2009 |
Duncan Sands <baldrick@free.fr> |
Codegen support for the llvm.invariant/lifetime.start/end intrinsics: just throw them away.
llvm-svn: 86678
|
Revision tags: llvmorg-2.6.0 |
|
#
8e6ccb65 |
| 14-Oct-2009 |
Duncan Sands <baldrick@free.fr> |
I don't see any point in having both eh.selector.i32 and eh.selector.i64, so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc
I don't see any point in having both eh.selector.i32 and eh.selector.i64, so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems).
llvm-svn: 84106
show more ...
|
#
9ed7b16b |
| 06-Oct-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce and use convenience methods for getting pointer types where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy.
llvm-svn: 83379
|
#
1362602e |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change Pass::print to take a raw ostream instead of std::ostream, update all code that this affects.
llvm-svn: 79830
|
#
55f1c09e |
| 13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs.
llvm-svn: 78948
|
#
5a1acd99 |
| 31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
#
edb4a703 |
| 24-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
llvm-svn: 77011
|
#
47db941f |
| 22-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of the Pass+Context magic.
llvm-svn: 76702
|
#
b6b25300 |
| 14-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move EVER MORE stuff over to LLVMContext.
llvm-svn: 75703
|
#
fbcc663c |
| 14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location i
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed").
llvm-svn: 75640
show more ...
|
#
6cdb8972 |
| 14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
eliminate extra space.
llvm-svn: 75630
|
#
53a52215 |
| 13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, b
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
show more ...
|
#
7b9d6ebb |
| 12-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
remove llvm.part.set.* and llvm.part.select.*. They have never been implemented in codegen, have no frontend to generate them, and are better implemented with pattern matching (like the ppc backen
remove llvm.part.set.* and llvm.part.select.*. They have never been implemented in codegen, have no frontend to generate them, and are better implemented with pattern matching (like the ppc backend does to generate rlwimi/rlwinm etc).
PR4543
llvm-svn: 75430
show more ...
|
#
56d06597 |
| 11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG bu
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds.
llvm-svn: 75379
show more ...
|
#
ccb29cd2 |
| 11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Convert more assert(0)+abort() -> LLVM_UNREACHABLE, and abort()/exit() -> llvm_report_error().
llvm-svn: 75363
|
#
a771459b |
| 08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContext _back_ through IRBuilder.
llvm-svn: 75040
|
#
4c472e1c |
| 26-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of these cache variables, which are a holdover from the days when we had multiple type planes and these lookups were expensive.
llvm-svn: 74319
|
#
b5042f20 |
| 25-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Now with EVEN FEWER statics!
llvm-svn: 74143
|
#
9a968a8b |
| 12-May-2009 |
Jay Foad <jay.foad@gmail.com> |
Switch to using IRBuilder throughout.
llvm-svn: 71587
|
#
aa9c0194 |
| 11-May-2009 |
Jay Foad <jay.foad@gmail.com> |
Don't generate redundant casts of constant values when lowering calls to memcpy, memmove and memset.
llvm-svn: 71427
|
#
12da8ce3 |
| 07-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by a
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing.
llvm-svn: 66339
show more ...
|
Revision tags: llvmorg-2.5.0 |
|
#
d8f0786c |
| 07-Feb-2009 |
Chris Lattner <sabre@nondot.org> |
Add missing break statements, fixing PR3503.
llvm-svn: 64040
|
#
4b23938f |
| 30-Jan-2009 |
Zhou Sheng <zhousheng00@gmail.com> |
As Duncan suggested, add braces for the one-line "else branch". Thanks, Duncan.
llvm-svn: 63389
|
#
25b6f815 |
| 30-Jan-2009 |
Zhou Sheng <zhousheng00@gmail.com> |
This is to fix the bug in IntrinsicLowering.cpp, the LowerPartSet(). It didn't handle the situation correctly when the low, high argument values are in reverse order (low > high) with 'Val' type i32
This is to fix the bug in IntrinsicLowering.cpp, the LowerPartSet(). It didn't handle the situation correctly when the low, high argument values are in reverse order (low > high) with 'Val' type i32 (a corner case).
llvm-svn: 63388
show more ...
|