Eric Christopher
5535598bbc
Remove duplicate test run lines.
...
llvm-svn: 168907
2012-11-29 18:08:22 +00:00
Dmitri Gribenko
e260d3af52
Documentation for lit: more formatting: use 'option' and 'program' directives.
...
This enables cross-referencing and now '--' in option names are no more turned into en dashes.
llvm-svn: 168906
2012-11-29 18:03:08 +00:00
Pedro Artigas
d6b092bbd5
One more step towards making doInitialization and doFinalization useful for
...
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
2012-11-29 17:47:05 +00:00
Dmitri Gribenko
cbb07bea14
Documentation for tblgen: formatting
...
llvm-svn: 168904
2012-11-29 17:41:05 +00:00
Tobias Grosser
5087d0adcb
Update to Polly for LLVM r165262 which changes TargetData to Datalayout.
...
Contributed by: Yabin Hu <yabin.hwu@gmail.com>
llvm-svn: 168903
2012-11-29 17:34:50 +00:00
Dmitri Gribenko
6e303f7615
Documentation for lit: formatting improvements.
...
llvm-svn: 168902
2012-11-29 17:05:34 +00:00
Daniel Malea
c9449ad631
Match extern "C" in declaration and definition (swig template)
...
- Fix for building with gcc 4.6
llvm-svn: 168901
2012-11-29 16:38:44 +00:00
Rafael Espindola
c12edd4e68
Now that the underlying problem has been fixed, add r168411 back.
...
Original commit message:
Remove redundant code.
llvm-svn: 168900
2012-11-29 16:38:22 +00:00
Patrik Hagglund
9758517894
Test commit.
...
llvm-svn: 168899
2012-11-29 16:19:11 +00:00
Dmitri Gribenko
8bd389d8d7
Documentation: formatting improvements
...
llvm-svn: 168897
2012-11-29 16:12:13 +00:00
Rafael Espindola
8778c28022
Merge function types in C.
...
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
2012-11-29 16:09:03 +00:00
Meador Inge
f8e725081c
instcombine: Migrate fputs optimizations
...
This patch migrates the fputs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168893
2012-11-29 15:45:43 +00:00
Meador Inge
bc84d1a4f5
instcombine: Migrate fwrite optimizations
...
This patch migrates the fwrite optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168892
2012-11-29 15:45:39 +00:00
Meador Inge
1009cecca0
instcombine: Migrate fprintf optimizations
...
This patch migrates the fprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168891
2012-11-29 15:45:33 +00:00
Evgeniy Stepanov
30484fc704
[msan] Handle vector manipulation instructions.
...
Handle insertelement, extractelement, shufflevector.
llvm-svn: 168889
2012-11-29 15:22:06 +00:00
Evgeniy Stepanov
f433cecf96
[msan] Fix getOriginForNaryOp.
...
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
2012-11-29 14:44:00 +00:00
Silviu Baranga
93aefa5f2c
Added atomic 64 min/max/umin/umax instrinsics support in the ARM backend.
...
llvm-svn: 168886
2012-11-29 14:41:25 +00:00
Benjamin Kramer
aa598b3be6
misched: Recompute priority queue when DFSResults are updated.
...
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
2012-11-29 14:36:26 +00:00
Evgeniy Stepanov
7ad7e83031
[msan] Basic handling of inline asm.
...
llvm-svn: 168884
2012-11-29 14:32:03 +00:00
Justin Holewinski
0ac49bf846
Teach the legalizer how to handle operands for VSELECT nodes
...
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
2012-11-29 14:26:28 +00:00
Justin Holewinski
bc45119b44
Allow targets to prefer TypeSplitVector over TypePromoteInteger when 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
2012-11-29 14:26:24 +00:00
Evgeniy Stepanov
857d9d2a59
[msan] Propagate shadow through (x<0) and (x>=0) comparisons.
...
This is a special case of signed relational comparison where result
only depends on the sign of x.
llvm-svn: 168881
2012-11-29 14:25:47 +00:00
Evgeniy Stepanov
eeb8b7c391
[msan] Fix shadow & origin store & load alignment.
...
This change ensures that shadow memory accesses have the same alignment
as corresponding app memory accesses.
llvm-svn: 168880
2012-11-29 14:05:53 +00:00
Evgeniy Stepanov
62ba611828
[msan] Optimize getOriginPtr.
...
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
2012-11-29 13:43:05 +00:00
Evgeniy Stepanov
da0072b676
[msan] Fix a few compilation warnings.
...
llvm-svn: 168878
2012-11-29 13:12:03 +00:00
Evgeniy Stepanov
c3b579e5ac
[msan] Add a test for r168873.
...
llvm-svn: 168877
2012-11-29 13:11:09 +00:00
Evgeniy Stepanov
62b5db9361
[msan] Transform memcpy and memset to library calls.
...
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
2012-11-29 12:49:04 +00:00
Elena Demikhovsky
eace43bff7
I changed hasAVX() to hasFp256() and hasAVX2() to hasInt256() in X86IselLowering.cpp.
...
The logic was not changed, only names.
llvm-svn: 168875
2012-11-29 12:44:59 +00:00
Evgeniy Stepanov
4f9240d7e3
[msan] Update tests (broken in r168873).
...
llvm-svn: 168874
2012-11-29 12:43:56 +00:00
Evgeniy Stepanov
1d2da65bf8
[msan] Make sure that report callbacks do not get merged.
...
llvm-svn: 168873
2012-11-29 12:30:18 +00:00
Kostya Serebryany
dde9dcc24b
[asan] disable BuiltinLongJmpTest on Android
...
llvm-svn: 168872
2012-11-29 12:18:48 +00:00
Dmitri Gribenko
194d3685ec
Documentation: use correct highlighter
...
llvm-svn: 168871
2012-11-29 12:00:32 +00:00
NAKAMURA Takumi
c2b2b75bd5
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Remove i128 stuff. Conditioning-out in macro argument was not accepted on MS cl.exe.
...
llvm-svn: 168867
2012-11-29 10:22:40 +00:00
Evgeniy Stepanov
d4bd7b73e3
Initial commit of MemorySanitizer.
...
Compiler pass only.
llvm-svn: 168866
2012-11-29 09:57:20 +00:00
NAKAMURA Takumi
b2df62570e
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Suppress i128 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
2012-11-29 09:57:11 +00:00
Kostya Serebryany
4b929dae93
[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
2012-11-29 09:54:21 +00:00
Kostya Serebryany
e73a480970
[asan] enable BuiltinLongJmpTest
...
llvm-svn: 168863
2012-11-29 09:02:14 +00:00
Timur Iskhodzhanov
6732d350ef
[-cxx-abi microsoft] Also spill the argument-back-references context when mangling templates
...
llvm-svn: 168862
2012-11-29 08:58:47 +00:00
Kostya Serebryany
633bf93fb8
[asan] when checking the noreturn attribute on the call, also check it on the callee
...
llvm-svn: 168861
2012-11-29 08:57:20 +00:00
Richard Smith
99507e6c10
ubsan: Don't assume that Clang provides __int128 unless it advertises that it does.
...
llvm-svn: 168857
2012-11-29 05:59:30 +00:00
Richard Smith
e6a56db2e6
Reject uses of __int128 on platforms that don't support it. Also move the ugly
...
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.
llvm-svn: 168856
2012-11-29 05:41:51 +00:00
Nico Weber
6be9b25cb6
Fix sentence construction-o.
...
llvm-svn: 168855
2012-11-29 05:29:23 +00:00
Preston Briggs
4eb7ee566a
Cleaned up a couple of comments.
...
llvm-svn: 168854
2012-11-29 04:30:52 +00:00
Richard Smith
e1f363c724
Remove 'noreturn' attribute from friend declaration. This attribute will be
...
inherited from the previous out-of-class declaration, and attributes on friend
function declarations are ill-formed in C++11.
llvm-svn: 168853
2012-11-29 04:30:50 +00:00
Jakob Stoklund Olesen
bdb55e0c59
Use MCPhysReg for RegisterClassInfo allocation orders.
...
This saves a bit of memory.
llvm-svn: 168852
2012-11-29 03:34:17 +00:00
Eli Friedman
fd41aee2f8
Fix crash-on-invalid. <rdar://problem/12765391>.
...
llvm-svn: 168851
2012-11-29 03:13:49 +00:00
Jakob Stoklund Olesen
7afe1663e9
Add an MCPhysReg typedef to replace naked uint16_t.
...
Use this type for arrays of physical registers.
llvm-svn: 168850
2012-11-29 02:39:28 +00:00
Shuxin Yang
01ab5d718b
Instruction::isAssociative() returns true for fmul/fadd if they are tagged "unsafe" mode.
...
Approved by: Eli and Michael.
llvm-svn: 168848
2012-11-29 01:47:31 +00:00
Richard Smith
8bf22e5b52
The declaration of a special member can require overload resolution to be
...
performed, to determine whether that special member is deleted or constexpr.
That overload resolution process can in turn trigger the instantiation of a
template, which can do anything, including triggering the declaration of that
very same special member function. When this happens, do not try to recursively
declare the special member -- that's impossible. Instead, only try to realise
the truth. There is no special member.
llvm-svn: 168847
2012-11-29 01:34:07 +00:00
Ted Kremenek
ad6e5b262a
Change SValBuilder::getConditionType() to return BoolTy in C++. Fixes <rdar://problem/12772656>.
...
llvm-svn: 168846
2012-11-29 01:03:10 +00:00