- Dec 27, 2012
-
-
Alexey Samsonov authored
[ASan] Fix lifetime intrinsics handling. Now for each intrinsic we check if it describes one of 'interesting' allocas. Assume that allocas can go through casts and phi-nodes before apperaring as llvm.lifetime arguments llvm-svn: 171153
-
Nadav Rotem authored
If all of the write objects are identified then we can vectorize the loop even if the read objects are unidentified. PR14719. llvm-svn: 171124
-
- Dec 26, 2012
-
-
Nick Lewycky authored
such as by a compiler warning, a check in clang -fsanitizer=undefined, being optimized to unreachable, or a combination of the above. PR14722. llvm-svn: 171119
-
Nadav Rotem authored
LoopVectorizer: Optimize the vectorization of consecutive memory access when the iteration step is -1 llvm-svn: 171114
-
Evgeniy Stepanov authored
Origin alignment is as high as the alignment of the corresponding application location, but never less than 4. llvm-svn: 171110
-
Evgeniy Stepanov authored
llvm-svn: 171109
-
Hal Finkel authored
For the time being this includes only some dummy test cases. Once the generic implementation of the intrinsics cost function does something other than assuming scalarization in all cases, or some target specializes the interface, some real test cases can be added. Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID in a few other places. llvm-svn: 171079
-
Hal Finkel authored
llvm-svn: 171076
-
- Dec 25, 2012
-
-
Hal Finkel authored
llvm-svn: 171075
-
Evgeniy Stepanov authored
VectorType::getInteger() can not be used with them, because pointer size depends on the target. llvm-svn: 171070
-
Evgeniy Stepanov authored
llvm-svn: 171069
-
Alexey Samsonov authored
llvm-svn: 171061
-
Alexey Samsonov authored
llvm-svn: 171060
-
- Dec 24, 2012
-
-
rdar://problem/12867368Bob Wilson authored
When the backend is used from clang, it should produce proper diagnostics instead of just printing messages to errs(). Other clients may also want to register their own error handlers with the LLVMContext, and the same handler should work for warnings in the same way as the existing emitError methods. llvm-svn: 171041
-
Nadav Rotem authored
the StoreInst operands. PR14705. llvm-svn: 171023
-
Alexey Samsonov authored
llvm-svn: 171021
-
Nadav Rotem authored
The bug was in the code that detects PHIs in if-then-else block sequence. PR14701. llvm-svn: 171008
-
- Dec 23, 2012
-
-
Benjamin Kramer authored
llvm-svn: 171001
-
Benjamin Kramer authored
Fixes an assert during the build of oggenc in the test suite. llvm-svn: 171000
-
Nadav Rotem authored
them more expensive. llvm-svn: 170995
-
- Dec 22, 2012
-
-
Craig Topper authored
llvm-svn: 170990
-
Bill Wendling authored
Change 'AttrVal' to 'AttrKind' to better reflect that it's a kind of attribute instead of the value of the attribute. llvm-svn: 170972
-
- Dec 21, 2012
-
-
Roman Divacky authored
llvm-svn: 170902
-
Evgeniy Stepanov authored
llvm-svn: 170883
-
Nadav Rotem authored
llvm-svn: 170841
-
Evan Cheng authored
llvm-svn: 170831
-
Nadav Rotem authored
and not the return type, which is void. A number of test cases fail after adding the assertion in TTImpl. llvm-svn: 170828
-
Nadav Rotem authored
memory bound checks. Before the fix we were able to vectorize this loop from the Livermore Loops benchmark: for ( k=1 ; k<n ; k++ ) x[k] = x[k-1] + y[k]; llvm-svn: 170811
-
- Dec 20, 2012
-
-
Nadav Rotem authored
Before if-conversion we could check if a value is loop invariant if it was declared inside the basic block. Now that loops have multiple blocks this check is incorrect. This fixes External/SPEC/CINT95/099_go/099_go llvm-svn: 170756
-
Nadav Rotem authored
llvm-svn: 170708
-
James Molloy authored
Add a new attribute, 'noduplicate'. If a function contains a noduplicate call, the call cannot be duplicated - Jump threading, loop unrolling, loop unswitching, and loop rotation are inhibited if they would duplicate the call. Similarly inlining of the function is inhibited, if that would duplicate the call (in particular inlining is still allowed when there is only one callsite and the function has internal linkage). llvm-svn: 170704
-
Craig Topper authored
llvm-svn: 170676
-
Craig Topper authored
llvm-svn: 170675
-
Nadav Rotem authored
llvm-svn: 170632
-
Nadav Rotem authored
llvm-svn: 170626
-
- Dec 19, 2012
-
-
Paul Redmond authored
When the least bit of C is greater than V, (x&C) must be greater than V if it is not zero, so the comparison can be simplified. Although this was suggested in Target/X86/README.txt, it benefits any architecture with a directly testable form of AND. Patch by Kevin Schoedel llvm-svn: 170576
-
Evgeniy Stepanov authored
llvm-svn: 170544
-
Evgeniy Stepanov authored
This changes adds shadow and origin propagation for unknown intrinsics by examining the arguments and ModRef behaviour. For now, only 3 classes of intrinsics are handled: - those that look like simple SIMD store - those that look like simple SIMD load - those that don't have memory effects and look like arithmetic/logic/whatever operation on simple types. llvm-svn: 170530
-
Benjamin Kramer authored
MapVector is a bit heavyweight, but I don't see a simpler way. Also the InductionList is unlikely to be large. This should help 3-stage selfhost compares (PR14647). llvm-svn: 170528
-
Bill Wendling authored
Inline the 'hasIncompatibleWithVarArgsAttrs' method into its only uses. And some minor comment reformatting. llvm-svn: 170516
-