| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 168910
|
|
|
|
| |
llvm-svn: 168909
|
|
|
|
| |
llvm-svn: 168908
|
|
|
|
| |
llvm-svn: 168907
|
|
|
|
|
|
| |
This enables cross-referencing and now '--' in option names are no more turned into en dashes.
llvm-svn: 168906
|
|
|
|
|
|
|
| |
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
|
|
|
|
| |
llvm-svn: 168904
|
|
|
|
|
|
| |
Contributed by: Yabin Hu <yabin.hwu@gmail.com>
llvm-svn: 168903
|
|
|
|
| |
llvm-svn: 168902
|
|
|
|
|
|
| |
- Fix for building with gcc 4.6
llvm-svn: 168901
|
|
|
|
|
|
|
|
| |
Original commit message:
Remove redundant code.
llvm-svn: 168900
|
|
|
|
| |
llvm-svn: 168899
|
|
|
|
| |
llvm-svn: 168897
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Among other differences, GCC accepts
typedef int IA[];
typedef int A10[10];
static A10 *f(void);
static IA *f(void);
void g(void) {
(void)sizeof(*f());
}
but clang used to reject it with:
invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []')
The intention of c99's 6.2.7 seems to be that we should use the composite type
and accept as gcc does.
Doing the type merging required some extra fixes:
* Use the type from the function type in initializations, even if an parameter
is available.
* Fix the merging of the noreturn attribute in function types.
* Make CodeGen handle the fact that an parameter type can be different from
the corresponding type in the function type.
llvm-svn: 168895
|
|
|
|
|
|
|
| |
This patch migrates the fputs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168893
|
|
|
|
|
|
|
| |
This patch migrates the fwrite optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168892
|
|
|
|
|
|
|
| |
This patch migrates the fprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168891
|
|
|
|
|
|
| |
Handle insertelement, extractelement, shufflevector.
llvm-svn: 168889
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 168886
|
|
|
|
|
|
|
|
| |
This was found by MSVC10's STL debug mode on a test from the test suite. Sadly
std::is_heap isn't standard so there is no way to assert this without writing
our own heap verify, which looks like overkill to me.
llvm-svn: 168885
|
|
|
|
| |
llvm-svn: 168884
|
|
|
|
|
|
|
| |
If we need to split the operand of a VSELECT, it must be the mask operand. We
split the entire VSELECT operand with EXTRACT_SUBVECTOR.
llvm-svn: 168883
|
|
|
|
|
|
|
|
| |
computing the legalization method for vectors
For some targets, it is desirable to prefer scalarizing <N x i1> instead of promoting to a larger legal type, such as <N x i32>.
llvm-svn: 168882
|
|
|
|
|
|
|
| |
This is a special case of signed relational comparison where result
only depends on the sign of x.
llvm-svn: 168881
|
|
|
|
|
|
|
| |
This change ensures that shadow memory accesses have the same alignment
as corresponding app memory accesses.
llvm-svn: 168880
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 168878
|
|
|
|
| |
llvm-svn: 168877
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
X86IselLowering.cpp.
The logic was not changed, only names.
llvm-svn: 168875
|
|
|
|
| |
llvm-svn: 168874
|
|
|
|
| |
llvm-svn: 168873
|
|
|
|
| |
llvm-svn: 168872
|
|
|
|
| |
llvm-svn: 168871
|
|
|
|
|
|
| |
stuff. Conditioning-out in macro argument was not accepted on MS cl.exe.
llvm-svn: 168867
|
|
|
|
|
|
| |
Compiler pass only.
llvm-svn: 168866
|
|
|
|
|
|
|
|
|
| |
according to r168856, for now.
I think "i128", that I conditioned out, could be completely removed.
MS Compiler doesn't accept i128. We can assume no one would use i128.
llvm-svn: 168865
|
|
|
|
|
|
| |
to doInitialization. This is required to allow the upcoming changes in PassManager behavior
llvm-svn: 168864
|
|
|
|
| |
llvm-svn: 168863
|
|
|
|
|
|
| |
mangling templates
llvm-svn: 168862
|
|
|
|
|
|
| |
the callee
llvm-svn: 168861
|
|
|
|
|
|
| |
it does.
llvm-svn: 168857
|
|
|
|
|
|
|
| |
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.
llvm-svn: 168856
|
|
|
|
| |
llvm-svn: 168855
|
|
|
|
| |
llvm-svn: 168854
|
|
|
|
|
|
|
| |
inherited from the previous out-of-class declaration, and attributes on friend
function declarations are ill-formed in C++11.
llvm-svn: 168853
|
|
|
|
|
|
| |
This saves a bit of memory.
llvm-svn: 168852
|
|
|
|
| |
llvm-svn: 168851
|
|
|
|
|
|
| |
Use this type for arrays of physical registers.
llvm-svn: 168850
|