- Dec 28, 2012
-
-
Kostya Serebryany authored
llvm-svn: 171200
-
Kostya Serebryany authored
llvm-svn: 171199
-
Kostya Serebryany authored
[asan] implement more strict checking for memset/etc parameters. Instead of checking the first and the last byte, we check the entire shadow region. This costs ~10 slowdown for the instrumented functions. Motivated by a nasty memset-buffer-overflow-by-140-bytes in chrome which was reported as a use-after-free or not at all llvm-svn: 171198
-
Chandler Carruth authored
deleted this, but apparantly not. Charmingly, Clang didn't warn on it but GCC did. llvm-svn: 171197
-
Chandler Carruth authored
propagating one of the values it simplified to a constant across a myriad of instructions. Notably, ptrtoint instructions when we had a constant pointer (say, 0) didn't propagate that, blocking a massive number of down-stream optimizations. This was uncovered when investigating why we fail to inline and delete the boilerplate in: void f() { std::vector<int> v; v.push_back(1); } It turns out most of the efforts I've made thus far to improve the analysis weren't making it far purely because of this. After this is fixed, the store-to-load forwarding patch enables LLVM to optimize the above to an empty function. We still can't nuke a second push_back, but for different reasons. There is a very real chance this will cause somewhat noticable changes in inlining behavior, so please let me know if you see regressions (or improvements!) because of this patch. llvm-svn: 171196
-
Chandler Carruth authored
how to propagate constants through insert and extract value instructions. With the recent improvements to instsimplify, this allows inline cost analysis to constant fold through intrinsic functions, including notably the with.overflow intrinsic math routines which often show up inside of STL abstractions. This is yet another piece in the puzzle of breaking down the code for: void f() { std::vector<int> v; v.push_back(1); } But it still isn't enough. There are a pile of bugs in inline cost still blocking this. llvm-svn: 171195
-
Chandler Carruth authored
constant folding calls. Add the initial tests for this which show that now instsimplify can simplify blindingly obvious code patterns expressed with both intrinsics and library calls. llvm-svn: 171194
-
Rafael Espindola authored
This patch moves hasCLanguageLinkage to be VarDecl and FunctionDecl methods so that they can be used from SemaOverload.cpp and then fixes the logic in Sema::IsOverload. llvm-svn: 171193
-
Richard Smith authored
llvm-svn: 171192
-
Richard Smith authored
llvm-svn: 171191
-
Richard Smith authored
function is selected by overload resolution. llvm-svn: 171190
-
Chandler Carruth authored
are nice and decomposed so that we can simplify synthesized calls as easily as actually call instructions. The internal utility still has the same behavior, it just now operates on a more generic interface so that I can extend the set of call simplifications that instsimplify knows about. llvm-svn: 171189
-
Alexey Samsonov authored
llvm-svn: 171188
-
Alexey Samsonov authored
[TSan] Blacklist test: Rename blacklisted function. Make this test work for custom TSan testing script. llvm-svn: 171186
-
Alexey Samsonov authored
llvm-svn: 171185
-
Alexey Samsonov authored
llvm-svn: 171184
-
Alexey Samsonov authored
llvm-svn: 171183
-
Alexey Samsonov authored
llvm-svn: 171181
-
Nadav Rotem authored
llvm-svn: 171180
-
Nadav Rotem authored
llvm-svn: 171179
-
Nadav Rotem authored
AVX: Move the ZEXT/ANYEXT DAGCo optimizations to the lowering of these optimizations. The old test cases still cover all of these lowering/optimizations. The single change that we have is that now anyext does not need to zero a register, because it does not use the exact code path as the zero_extend. llvm-svn: 171178
-
David Blaikie authored
This makes the test not dependent on LLVM & won't vary/break based on LLVM codegen related changes. Appropriately testing at the Clang level what was fixed at the Clang level originally (in r124210). llvm-svn: 171175
-
Howard Hinnant authored
llvm-svn: 171174
-
Howard Hinnant authored
llvm-svn: 171173
-
Nadav Rotem authored
llvm-svn: 171172
-
- Dec 27, 2012
-
-
Craig Topper authored
llvm-svn: 171171
-
Nadav Rotem authored
llvm-svn: 171170
-
Howard Hinnant authored
llvm-svn: 171169
-
Howard Hinnant authored
llvm-svn: 171167
-
Craig Topper authored
llvm-svn: 171166
-
Howard Hinnant authored
llvm-svn: 171165
-
Chandler Carruth authored
We should also install the clang-format.py script somewhere that makes since for a Vim integration script. I don't know where that is though, so just installing the binary for now. This is enough to let me use the script from a checkout combined with the installed (and thus less likely to crash or be slow) clang-format binary. llvm-svn: 171164
-
Richard Smith authored
llvm-svn: 171162
-
Kostya Serebryany authored
llvm-svn: 171161
-
Alexey Samsonov authored
Define COMPILER_RT_CAN_EXECUTE_TESTS variable on platforms where we can produce working binaries and use it in build rules for sanitizers tests llvm-svn: 171160
-
Chandler Carruth authored
instructions. This just exposes the already present reverse iterators of the instruction ilist. llvm-svn: 171159
-
Chandler Carruth authored
re-use that for SlotIndexes. This way other users who want half-open semantics can share the implementation. llvm-svn: 171158
-
Chandler Carruth authored
getAnalysisUsage implementations. llvm-svn: 171157
-
Sean Silva authored
This came up for the N+1'st time today in IRC. llvm-svn: 171155
-
Sean Silva authored
llvm-svn: 171154
-