#
d708a490 |
| 15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing break statements! Thanks to Duncan Sands for pointing this out!
llvm-svn: 84191
|
#
9cec2380 |
| 15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach basicaa about memcpy/memmove/memset. The length argument can be used to improve alias results if constant, and the source pointer can't be modified.
llvm-svn: 84175
|
#
d7216cf7 |
| 15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach BasicAA to use the size parameter of the memory use marker intrinsics.
llvm-svn: 84174
|
#
fcb27ad5 |
| 15-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Take advantage of TargetData when available; we know that the atomic intrinsics only dereference the element they point to directly with no pointer arithmetic.
llvm-svn: 84159
|
#
b3ccb649 |
| 14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Clear VisitedPHIs after use.
llvm-svn: 84080
|
#
c1eed9d1 |
| 14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Another BasicAA fix. If a value does not alias a GEP's base pointer, then it cannot alias the GEP. GEP pointer alias rule states this clearly: A pointer value formed from a getelementptr instruction
Another BasicAA fix. If a value does not alias a GEP's base pointer, then it cannot alias the GEP. GEP pointer alias rule states this clearly: A pointer value formed from a getelementptr instruction is associated with the addresses associated with the first operand of the getelementptr.
llvm-svn: 84079
show more ...
|
#
f92f5557 |
| 14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
More code clean up based on patch feedback.
llvm-svn: 84074
|
#
31565b3e |
| 14-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Change VisitedPHIs into an instance variable that's freed by each alias() call.
llvm-svn: 84072
|
#
c10e88db |
| 13-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.
llvm-svn: 84038
|
#
f1f3dd3c |
| 13-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Refactor some code. No functionality changes.
llvm-svn: 84000
|
#
e2782c76 |
| 13-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Teach BasicAA a little something about the atomic intrinsics: they can only modify through the pointer they're given.
llvm-svn: 83959
|
#
537d8d99 |
| 18-Sep-2009 |
Victor Hernandez <vhernandez@apple.com> |
Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.
Reviewed by Eli Friedman.
llvm-svn: 82281
|
#
bc1d841a |
| 27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Use stripPointerCasts instead of doing the same manually.
llvm-svn: 80267
|
#
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
|
#
487375e9 |
| 29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantExpr to 2.5 API.
llvm-svn: 77494
|
#
43d19d61 |
| 25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make AliasAnalysis and related classes use getAnalysisIfAvailable<TargetData>().
llvm-svn: 77028
|
#
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
|
#
33a3fd0b |
| 20-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Revert the addition of hasNoPointerOverflow to GEPOperator. Getelementptrs that are defined to wrap are virtually useless to optimization, and getelementptrs that are undefined on any kind of overflo
Revert the addition of hasNoPointerOverflow to GEPOperator. Getelementptrs that are defined to wrap are virtually useless to optimization, and getelementptrs that are undefined on any kind of overflow are too restrictive -- it's difficult to ensure that all intermediate addresses are within bounds. I'm going to take a different approach.
Remove a few optimizations that depended on this flag.
llvm-svn: 76437
show more ...
|
#
1d548d85 |
| 17-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make BasicAliasAnalysis and Value::getUnderlyingObject use GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine that create GEPs that may overflow clear the NoOverflow value. Am
Make BasicAliasAnalysis and Value::getUnderlyingObject use GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine that create GEPs that may overflow clear the NoOverflow value. Among other things, this partially addresses PR2831.
llvm-svn: 76252
show more ...
|
#
20b34ac7 |
| 16-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in our current context-passing stuff, which is also fixed here
llvm-svn: 76089
|
#
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 ...
|
#
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 ...
|
#
38264b15 |
| 06-Jul-2009 |
Owen Anderson <resistor@mac.com> |
"LLVMContext* " --> "LLVMContext *"
llvm-svn: 74878
|