summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add options to AddressSanitizer passes to make them configurable by frontend.Alexey Samsonov2012-11-292-13/+32
| | | | llvm-svn: 168910
* fix a typoShuxin Yang2012-11-291-1/+1
| | | | llvm-svn: 168909
* Use newer command line option here.Eric Christopher2012-11-291-1/+1
| | | | llvm-svn: 168908
* Remove duplicate test run lines.Eric Christopher2012-11-291-16/+0
| | | | llvm-svn: 168907
* Documentation for lit: more formatting: use 'option' and 'program' directives.Dmitri Gribenko2012-11-291-139/+144
| | | | | | This enables cross-referencing and now '--' in option names are no more turned into en dashes. llvm-svn: 168906
* One more step towards making doInitialization and doFinalization useful forPedro Artigas2012-11-2911-84/+19
| | | | | | | start up and clean up module passes, now that ASAN and TSAN are fixed the tests pass llvm-svn: 168905
* Documentation for tblgen: formattingDmitri Gribenko2012-11-291-98/+41
| | | | llvm-svn: 168904
* Update to Polly for LLVM r165262 which changes TargetData to Datalayout.Tobias Grosser2012-11-291-31/+29
| | | | | | Contributed by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 168903
* Documentation for lit: formatting improvements.Dmitri Gribenko2012-11-291-117/+41
| | | | llvm-svn: 168902
* Match extern "C" in declaration and definition (swig template)Daniel Malea2012-11-291-0/+8
| | | | | | - Fix for building with gcc 4.6 llvm-svn: 168901
* Now that the underlying problem has been fixed, add r168411 back.Rafael Espindola2012-11-291-6/+4
| | | | | | | | Original commit message: Remove redundant code. llvm-svn: 168900
* Test commit.Patrik Hagglund2012-11-291-2/+0
| | | | llvm-svn: 168899
* Documentation: formatting improvementsDmitri Gribenko2012-11-291-3/+3
| | | | llvm-svn: 168897
* Merge function types in C.Rafael Espindola2012-11-296-13/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* instcombine: Migrate fputs optimizationsMeador Inge2012-11-295-58/+69
| | | | | | | This patch migrates the fputs optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168893
* instcombine: Migrate fwrite optimizationsMeador Inge2012-11-294-51/+93
| | | | | | | This patch migrates the fwrite optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168892
* instcombine: Migrate fprintf optimizationsMeador Inge2012-11-296-152/+158
| | | | | | | This patch migrates the fprintf optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 168891
* [msan] Handle vector manipulation instructions.Evgeniy Stepanov2012-11-291-0/+25
| | | | | | Handle insertelement, extractelement, shufflevector. llvm-svn: 168889
* [msan] Fix getOriginForNaryOp.Evgeniy Stepanov2012-11-291-2/+3
| | | | | | | | | 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
* Added atomic 64 min/max/umin/umax instrinsics support in the ARM backend.Silviu Baranga2012-11-295-12/+163
| | | | llvm-svn: 168886
* misched: Recompute priority queue when DFSResults are updated.Benjamin Kramer2012-11-291-0/+2
| | | | | | | | 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
* [msan] Basic handling of inline asm.Evgeniy Stepanov2012-11-291-1/+10
| | | | llvm-svn: 168884
* Teach the legalizer how to handle operands for VSELECT nodesJustin Holewinski2012-11-293-1/+76
| | | | | | | 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
* Allow targets to prefer TypeSplitVector over TypePromoteInteger when ↵Justin Holewinski2012-11-295-1/+32
| | | | | | | | 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
* [msan] Propagate shadow through (x<0) and (x>=0) comparisons.Evgeniy Stepanov2012-11-292-0/+77
| | | | | | | This is a special case of signed relational comparison where result only depends on the sign of x. llvm-svn: 168881
* [msan] Fix shadow & origin store & load alignment.Evgeniy Stepanov2012-11-292-4/+29
| | | | | | | This change ensures that shadow memory accesses have the same alignment as corresponding app memory accesses. llvm-svn: 168880
* [msan] Optimize getOriginPtr.Evgeniy Stepanov2012-11-291-3/+4
| | | | | | | | 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
* [msan] Fix a few compilation warnings.Evgeniy Stepanov2012-11-291-2/+4
| | | | llvm-svn: 168878
* [msan] Add a test for r168873.Evgeniy Stepanov2012-11-291-0/+2
| | | | llvm-svn: 168877
* [msan] Transform memcpy and memset to library calls.Evgeniy Stepanov2012-11-291-34/+35
| | | | | | | | | 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
* I changed hasAVX() to hasFp256() and hasAVX2() to hasInt256() in ↵Elena Demikhovsky2012-11-292-102/+104
| | | | | | | | X86IselLowering.cpp. The logic was not changed, only names. llvm-svn: 168875
* [msan] Update tests (broken in r168873).Evgeniy Stepanov2012-11-291-5/+3
| | | | llvm-svn: 168874
* [msan] Make sure that report callbacks do not get merged.Evgeniy Stepanov2012-11-291-0/+8
| | | | llvm-svn: 168873
* [asan] disable BuiltinLongJmpTest on AndroidKostya Serebryany2012-11-291-0/+2
| | | | llvm-svn: 168872
* Documentation: use correct highlighterDmitri Gribenko2012-11-291-3/+3
| | | | llvm-svn: 168871
* ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Remove i128 ↵NAKAMURA Takumi2012-11-291-14/+2
| | | | | | stuff. Conditioning-out in macro argument was not accepted on MS cl.exe. llvm-svn: 168867
* Initial commit of MemorySanitizer.Evgeniy Stepanov2012-11-297-0/+1660
| | | | | | Compiler pass only. llvm-svn: 168866
* ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Suppress i128 ↵NAKAMURA Takumi2012-11-291-4/+12
| | | | | | | | | 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
* [asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed ↵Kostya Serebryany2012-11-292-37/+48
| | | | | | to doInitialization. This is required to allow the upcoming changes in PassManager behavior llvm-svn: 168864
* [asan] enable BuiltinLongJmpTestKostya Serebryany2012-11-291-3/+2
| | | | llvm-svn: 168863
* [-cxx-abi microsoft] Also spill the argument-back-references context when ↵Timur Iskhodzhanov2012-11-292-3/+9
| | | | | | mangling templates llvm-svn: 168862
* [asan] when checking the noreturn attribute on the call, also check it on ↵Kostya Serebryany2012-11-292-3/+22
| | | | | | the callee llvm-svn: 168861
* ubsan: Don't assume that Clang provides __int128 unless it advertises that ↵Richard Smith2012-11-291-1/+1
| | | | | | it does. llvm-svn: 168857
* Reject uses of __int128 on platforms that don't support it. Also move the uglyRichard Smith2012-11-298-5/+30
| | | | | | | 'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be properly cleaned up. llvm-svn: 168856
* Fix sentence construction-o.Nico Weber2012-11-291-1/+1
| | | | llvm-svn: 168855
* Cleaned up a couple of comments.Preston Briggs2012-11-291-4/+4
| | | | llvm-svn: 168854
* Remove 'noreturn' attribute from friend declaration. This attribute will beRichard Smith2012-11-291-1/+1
| | | | | | | inherited from the previous out-of-class declaration, and attributes on friend function declarations are ill-formed in C++11. llvm-svn: 168853
* Use MCPhysReg for RegisterClassInfo allocation orders.Jakob Stoklund Olesen2012-11-297-18/+20
| | | | | | This saves a bit of memory. llvm-svn: 168852
* Fix crash-on-invalid. <rdar://problem/12765391>.Eli Friedman2012-11-295-12/+34
| | | | llvm-svn: 168851
* Add an MCPhysReg typedef to replace naked uint16_t.Jakob Stoklund Olesen2012-11-293-20/+24
| | | | | | Use this type for arrays of physical registers. llvm-svn: 168850
OpenPOWER on IntegriCloud