- Dec 15, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 170267
-
- Dec 14, 2012
-
-
Michael Ilseman authored
Add back FoldOpIntoPhi optimizations with fix. Included test cases to help catch these errors and to test the presence of the optimization itself llvm-svn: 170248
-
Nadav Rotem authored
llvm-svn: 170246
-
Shuxin Yang authored
Implement rule : "x * (select cond 1.0, 0.0) -> select cond x, 0.0" llvm-svn: 170226
-
Evgeniy Stepanov authored
llvm-svn: 170203
-
Evgeniy Stepanov authored
Origin address is always 4 byte aligned, and the access type is always i32. llvm-svn: 170199
-
Evgeniy Stepanov authored
This change moves the code for default shadow propagaition (handleShadowOr) and origin tracking (setOriginForNaryOp) into a new builder-like class. Also gets rid of handleShadowOrBinary. llvm-svn: 170192
-
Nadav Rotem authored
llvm-svn: 170172
-
Nadav Rotem authored
llvm-svn: 170166
-
Nadav Rotem authored
llvm-svn: 170162
-
Nadav Rotem authored
Enable the Loop Vectorizer by default for O2 and O3. Disable if-conversion by default. I plan to revert this patch later today. llvm-svn: 170157
-
- Dec 13, 2012
-
-
NAKAMURA Takumi authored
This assumes (1 << n) is always not zero. Consider n is greater than word size. Although I know it is undefined, this transforms undefined behavior hidden. This led clang unexpected behavior with some failures. I will investigate to fix undefined shl in clang. llvm-svn: 170128
-
Eric Christopher authored
it seems to be breaking self-host for a few people and is PR14592. This reverts commit r170024. llvm-svn: 170106
-
Rafael Espindola authored
llvm-svn: 170094
-
Rafael Espindola authored
In a previous thread it was pointed out that isPowerOfTwo is not a very precise name since it can return false for powers of two if it is unable to show that they are powers of two. llvm-svn: 170093
-
Michael Ilseman authored
Provides m_Argument that allows matching against a CallSite's specified argument. Provides m_Intrinsic pattern that can be templatized over the intrinsic id and bind/match arguments similarly to other pattern matchers. Implementations provided for 0 to 4 arguments, though it's very simple to extend for more. Also provides example template specialization for bswap (m_BSwap) and example of code cleanup for its use. llvm-svn: 170091
-
Quentin Colombet authored
Better controls the inlining of functions when the caller function has MinSize attribute. Basically, when the caller function has this attribute, we do not "force" the inlining of callee functions carrying the InlineHint attribute (i.e., functions defined with inline keyword) llvm-svn: 170065
-
Nadav Rotem authored
Teach the cost model about the optimization in r169904: Truncation of induction variables costs the same as scalar trunc. llvm-svn: 170051
-
Chad Rosier authored
llvm-svn: 170050
-
- Dec 12, 2012
-
-
Michael Ilseman authored
llvm-svn: 170024
-
Michael Ilseman authored
llvm-svn: 170022
-
David Majnemer authored
llvm-svn: 170020
-
Nadav Rotem authored
llvm-svn: 170005
-
Nadav Rotem authored
LoopVectorizer: Use the "optsize" attribute to decide if we are allowed to increase the function size. llvm-svn: 170004
-
Rafael Espindola authored
been used in the first place. It simply was passed to the function and to the recursive invocations. Simply drop the parameter and update the callers for the new signature. Patch by Saleem Abdulrasool! llvm-svn: 169988
-
Alexey Samsonov authored
When ASan replaces <alloca instruction> with <offset into a common large alloca>, it should also patch llvm.dbg.declare calls and replace debug info descriptors to mark that we've replaced alloca with a value that stores an address of the user variable, not the user variable itself. See PR11818 for more context. llvm-svn: 169984
-
Nadav Rotem authored
llvm-svn: 169955
-
Nadav Rotem authored
llvm-svn: 169953
-
Nadav Rotem authored
LoopVectorizer: When -Os is used, vectorize only loops that dont require a tail loop. There is no testcase because I dont know of a way to initialize the loop vectorizer pass without adding an additional hidden flag. llvm-svn: 169950
-
Shuxin Yang authored
- Propagate "exact" bit of [l|a]shr instruction. llvm-svn: 169942
-
Michael Ilseman authored
Remove redunant optimizations from InstCombine, instead call the appropriate functions from SimplifyInstruction llvm-svn: 169941
-
- Dec 11, 2012
-
-
Nadav Rotem authored
llvm-svn: 169916
-
Nadav Rotem authored
Loop Vectorize: optimize the vectorization of trunc(induction_var). The truncation is now done on scalars. llvm-svn: 169904
-
Rafael Espindola authored
llvm-svn: 169881
-
Evgeniy Stepanov authored
Use explicitely aligned store and load instructions to deal with argument and retval shadow. This matters when an argument's alignment is higher than __msan_param_tls alignment (which is the case with __m128i). llvm-svn: 169859
-
Patrik Hagglund authored
llvm-svn: 169854
-
Patrik Hagglund authored
llvm-svn: 169840
-
Nadav Rotem authored
llvm-svn: 169813
-
- Dec 10, 2012
-
-
Nadav Rotem authored
llvm-svn: 169774
-
Nadav Rotem authored
llvm-svn: 169771
-