- Nov 29, 2012
-
-
Nadav Rotem authored
llvm-svn: 168928
-
Nadav Rotem authored
llvm-svn: 168927
-
Meador Inge authored
This patch migrates the puts optimizations from the simplify-libcalls pass into the instcombine library call simplifier. All the simplifiers from simplify-libcalls have now been migrated to instcombine. Yay! Just a few other bits to migrate (prototype attribute inference and a few statistics) and simplify-libcalls can finally be put to rest. llvm-svn: 168925
-
Alexey Samsonov authored
[ASan] Simplify check added in r168861. Bail out from module pass early if the module is blacklisted. llvm-svn: 168913
-
Matt Beaumont-Gay authored
llvm-svn: 168911
-
Alexey Samsonov authored
llvm-svn: 168910
-
Meador Inge authored
This patch migrates the fputs optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168893
-
Meador Inge authored
This patch migrates the fwrite optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168892
-
Meador Inge authored
This patch migrates the fprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168891
-
Evgeniy Stepanov authored
Handle insertelement, extractelement, shufflevector. llvm-svn: 168889
-
Evgeniy Stepanov authored
The old version failed on a 3-arg instruction with (-1, 0, 0) shadows (it would pick the 3rd operand origin irrespective of its shadow). The new version always picks the origin of the rightmost poisoned operand. llvm-svn: 168887
-
Evgeniy Stepanov authored
llvm-svn: 168884
-
Evgeniy Stepanov authored
This is a special case of signed relational comparison where result only depends on the sign of x. llvm-svn: 168881
-
Evgeniy Stepanov authored
This change ensures that shadow memory accesses have the same alignment as corresponding app memory accesses. llvm-svn: 168880
-
Evgeniy Stepanov authored
Rewrite getOriginPtr in a way that lets subsequent optimizations factor out the common part of Shadow and Origin address calculation. Improves perf by up to 5%. llvm-svn: 168879
-
Evgeniy Stepanov authored
llvm-svn: 168878
-
Evgeniy Stepanov authored
This was already done for memmove, where it is required for correctness. This change improves performance by avoiding copyingthe same memory twice. Also, the library functions are given __msan_ prefix to prevent instcombine pass from converting them back to intrinsics. llvm-svn: 168876
-
Evgeniy Stepanov authored
llvm-svn: 168873
-
Evgeniy Stepanov authored
Compiler pass only. llvm-svn: 168866
-
Kostya Serebryany authored
[asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doInitialization. This is required to allow the upcoming changes in PassManager behavior llvm-svn: 168864
-
Kostya Serebryany authored
llvm-svn: 168861
-
Nick Lewycky authored
Also a couple not-user-visible changes; using empty() instead of size(), and make inSection() not insert NULL Regex*'s into StringMap when doing a lookup. llvm-svn: 168833
-
Bill Wendling authored
delete those as well. llvm-svn: 168829
-
- Nov 28, 2012
-
-
Kostya Serebryany authored
[asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), LLVM part. This requires a clang part which will follow. llvm-svn: 168781
-
Hal Finkel authored
When two instructions are combined into a vector instruction, the resulting instruction must have the most-conservative flags. llvm-svn: 168765
-
- Nov 27, 2012
-
-
Meador Inge authored
My commit to migrate the printf simplifiers from the simplify-libcalls in r168604 introduced a regression reported by Duncan [1]. The problem is that in some cases the library call simplifier can return a new value that has no uses and the new value's type is different than the old value's type (which is fine because there are no uses). The specific case that triggered the bug looked something like: declare void @printf(i8*, ...) ... call void (i8*, ...)* @printf(i8* %fmt) Which we want to optimized into: call i32 @putchar(i32 104) However, the code was attempting to replace all uses of the printf with the putchar and the types differ, hence a crash. This is fixed by *just* deleting the original instruction when there are no uses. The old simplify-libcalls pass is already doing something similar. [1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-November/056338.html llvm-svn: 168716
-
Bill Wendling authored
The dependent libraries feature was never used and has bit-rotted. Remove it. llvm-svn: 168694
-
Dmitry Vyukov authored
llvm-svn: 168684
-
Meador Inge authored
This patch migrates the sprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168677
-
Eli Friedman authored
InstCombineLoadStoreAlloca.cpp, which had many issues. (At least two bugs were noted on llvm-commits, and it was overly conservative.) Instead, use getOrEnforceKnownAlignment. llvm-svn: 168629
-
- Nov 26, 2012
-
-
rdar://12329730Shuxin Yang authored
Enhancement to InstCombine. Try to catch this opportunity: --------------------------------------------------------------- ((X^C1) >> C2) ^ C3 => (X>>C2) ^ ((C1>>C2)^C3) where the subexpression "X ^ C1" has more than one uses, and "(X^C1) >> C2" has single use. ---------------------------------------------------------------- Reviewed by Nadav (with minor change per his request). llvm-svn: 168615
-
Meador Inge authored
When I migrated the toascii simplifier in r168580 Benjamin Kramer noticed a bug in one of the comments that I migrated. llvm-svn: 168605
-
Meador Inge authored
This patch migrates the printf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168604
-
Nadav Rotem authored
llvm-svn: 168601
-
Matt Beaumont-Gay authored
llvm-svn: 168592
-
Dmitry Vyukov authored
llvm-svn: 168590
-
Dmitry Vyukov authored
llvm-svn: 168586
-
Meador Inge authored
This patch migrates the toascii optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168580
-
Meador Inge authored
This patch migrates the isascii optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168579
-
Meador Inge authored
This patch migrates the isdigit optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168578
-