Jim Grosbach
aae0a4bd87
Fix a memory leak in MachOObjectFile.
...
MachOObjectFile owns a MachOObj, but never frees it. Both MachOObjectFile
and MachOObj want to own the MemoryBuffer, though, so we have to be careful
and give them each one of their own.
Thanks to Greg Clayton, Eric Christopher and Michael Spencer for helping
figure out what's going wrong here.
rdar://12561773
llvm-svn: 168923
2012-11-29 19:14:11 +00:00
Dmitri Gribenko
c9e206f090
Documentation for llvm-cov: reformat
...
llvm-svn: 168922
2012-11-29 19:10:21 +00:00
Benjamin Kramer
ba11a9892c
Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate.
...
Thanks to Andy for catching this.
llvm-svn: 168921
2012-11-29 19:07:57 +00:00
Dmitri Gribenko
1521681b59
Documentation for llvm-stress: reformat
...
llvm-svn: 168920
2012-11-29 19:05:55 +00:00
Dmitri Gribenko
6c80bcb56f
Documentation for opt: reformat
...
llvm-svn: 168919
2012-11-29 19:02:50 +00:00
Eric Christopher
0499778517
Make sure that we put the rest of the sanitizer libraries on the link line
...
before libstdc++ like we do with ubsan.
llvm-svn: 168918
2012-11-29 18:51:05 +00:00
Greg Clayton
e1e835c626
<rdar://problem/12655594>
...
Be sure to resolve the file path for the "target.process.python-os-plugin-path" setting.
llvm-svn: 168916
2012-11-29 18:48:47 +00:00
Greg Clayton
1eb0edcd97
<rdar://problem/12635804>
...
Add new rpath for LLDB: ../../Library/PrivateFrameworks
Also moved the debugserver plists into the Resources group.
llvm-svn: 168915
2012-11-29 18:40:38 +00:00
Andrew Trick
fa59403bfd
Improve isImpliedCond comment a bit.
...
llvm-svn: 168914
2012-11-29 18:35:13 +00:00
Alexey Samsonov
9a956e8cd2
[ASan] Simplify check added in r168861. Bail out from module pass early if the module is blacklisted.
...
llvm-svn: 168913
2012-11-29 18:27:01 +00:00
Dmitri Gribenko
76561e9741
Documentation for llc: reformat.
...
llvm-svn: 168912
2012-11-29 18:16:11 +00:00
Matt Beaumont-Gay
c76536f886
Apply Takumi's patch to suppress unused-variable warnings in -Asserts builds.
...
llvm-svn: 168911
2012-11-29 18:15:49 +00:00
Alexey Samsonov
df6245233c
Add options to AddressSanitizer passes to make them configurable by frontend.
...
llvm-svn: 168910
2012-11-29 18:14:24 +00:00
Shuxin Yang
f265351491
fix a typo
...
llvm-svn: 168909
2012-11-29 18:09:37 +00:00
Eric Christopher
a0f27b3e2c
Use newer command line option here.
...
llvm-svn: 168908
2012-11-29 18:08:24 +00:00
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