summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* This patch fixes the assert in emitting captured code in the target data ↵Michael Wong2015-08-111-1/+3
| | | | | | | | | construct. This is on behalf of Kelvin Li. http://reviews.llvm.org/D11475 llvm-svn: 244569
* Propagate SourceLocations through to get a Loc on float_cast_overflowFilipe Cabecinhas2015-08-117-110/+152
| | | | | | | | | | | | | | | Summary: float_cast_overflow is the only UBSan check without a source location attached. This patch propagates SourceLocations where necessary to get them to the EmitCheck() call. Reviewers: rsmith, ABataev, rjmccall Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11757 llvm-svn: 244568
* [compiler-rt] Add SourceLocations for float_cast_overflow data.Filipe Cabecinhas2015-08-113-25/+66
| | | | | | | | | | | | | | | | | | | | | | Summary: Compiler-rt part of http://reviews.llvm.org/D11757 I ended up making UBSan work with both the old version and the new version of the float_cast_overflow data (instead of just erroring with the previous version). The old version will try to symbolize its caller. Now we compile the float_cast_overflow tests without -g, and make sure we have the source file+line+column. If you think I'm trying too hard to make sure we can still use both versions, let me know. Reviewers: samsonov, rsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11793 llvm-svn: 244567
* [libFuzzer] fix docs buildKostya Serebryany2015-08-111-5/+13
| | | | llvm-svn: 244566
* COFF: Update README.Rui Ueyama2015-08-111-13/+8
| | | | | | | It's no longer "new" because the old COFF linker has been removed. Update the introduction accordingly. llvm-svn: 244565
* [MSVC Compat] Implement __is_destructible, __is_nothrow_destructibleDavid Majnemer2015-08-112-2/+84
| | | | | | | | Our implementations of these type trait intrinsics simply mapped them to __has_trivial_destructor. Instead, flesh these intrinsics out with a full implementation which matches the standard's description. llvm-svn: 244564
* [IR] Verify EH pad predecessorsDavid Majnemer2015-08-112-20/+95
| | | | | | | Make sure that an EH pad's predecessors are using their unwind edge to transfer control to the EH pad. llvm-svn: 244563
* WebAssembly: add basic floating-point testsJF Bastien2015-08-113-4/+146
| | | | | | | | | | Summary: I somehow forgot to add these when I added the basic floating-point opcodes. Also remove ceil/floor/trunc/nearestint for now, and add them only when properly tested. Subscribers: llvm-commits, sunfish, jfb Differential Revision: http://reviews.llvm.org/D11927 llvm-svn: 244562
* Make the analysis reporting test with x86 to fix the hexagon build.Tyler Nowicki2015-08-111-2/+2
| | | | llvm-svn: 244561
* [libFuzzer] add the list of trophies to the docs. It is incomplete, ↵Kostya Serebryany2015-08-111-0/+15
| | | | | | additions are welcome :) llvm-svn: 244560
* [libFuzzer] add -only_ascii flagKostya Serebryany2015-08-116-2/+29
| | | | llvm-svn: 244559
* [WinEHPrepare] Add rudimentary support for the new EH instructionsDavid Majnemer2015-08-112-9/+374
| | | | | | | | | | | | | | | | | | This adds somewhat basic preparation functionality including: - Formation of funclets via coloring basic blocks. - Cloning of polychromatic blocks to ensure that funclets have unique program counters. - Demotion of values used between different funclets. - Some amount of cleanup once we have removed predecessors from basic blocks. - Verification that we are left with a CFG that makes some amount of sense. N.B. Arguments and numbering still need to be done. Differential Revision: http://reviews.llvm.org/D11750 llvm-svn: 244558
* Explicitly clear the MI operand list when getInstruction() is called. Call ↵Cameron Esfahani2015-08-115-22/+3
| | | | | | | | | | | | | | MI.clear() within MCD::OPC_Decode case and inside of translateInstruction() for the X86 target. Remove now unnecessary MI.clear() from ARMDisassembler. Summary: Explicitly clear the MI operand list when getInstruction() is called. Reviewers: hfinkel, t.p.northover, hvarga, kparzysz, jyknight, qcolombet, uweigand Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11665 llvm-svn: 244557
* Print vectorization analysis when loop hint is specified.Tyler Nowicki2015-08-112-15/+42
| | | | | | This patche and a related llvm patch solve the problem of having to explicitly enable analysis when specifying a loop hint pragma to get the diagnostics. Passing AlwasyPrint as the pass name (see below) causes the front-end to print the diagnostic if the user has specified '-Rpass-analysis' without an '=<target-pass>’. Users of loop hints can pass that compiler option without having to specify the pass and they will get diagnostics for only those loops with loop hints. llvm-svn: 244556
* Print vectorization analysis when loop hint is specified.Tyler Nowicki2015-08-116-21/+44
| | | | | | This patch and a relatec clang patch solve the problem of having to explicitly enable analysis when specifying a loop hint pragma to get the diagnostics. Passing AlwasyPrint as the pass name (see below) causes the front-end to print the diagnostic if the user has specified '-Rpass-analysis' without an '=<target-pass>’. Users of loop hints can pass that compiler option without having to specify the pass and they will get diagnostics for only those loops with loop hints. llvm-svn: 244555
* Update the syntax for load instruction in this example.Nick Lewycky2015-08-111-1/+1
| | | | llvm-svn: 244554
* Moved LoopVectorizeHints and related functions before ↵Tyler Nowicki2015-08-111-270/+270
| | | | | | LoopVectorizationLegality and LoopVectorizationCostModel. llvm-svn: 244552
* WebAssembly: simply assert on SNaN and NaNs with payloadsJF Bastien2015-08-112-6/+7
| | | | | | | | | | Summary: convertToHexString doesn't represent them correctly at this point in time. This is a follow-up to sunfish's suggestion in D11914. Subscribers: llvm-commits, sunfish, jfb Differential Revision: http://reviews.llvm.org/D11925 llvm-svn: 244551
* Simplify processLoop() by moving loop hint verification into ↵Tyler Nowicki2015-08-111-26/+35
| | | | | | Hints::allowVectorization(). llvm-svn: 244550
* [cmake] Hoist check for LLD sources up into root CMakeLists.txtReid Kleckner2015-08-114-1/+14
| | | | | | | | We will use this for ASan on Windows soon. When the ELF port of LLD matures, we can add other sanitizer integration tests to make sure they work with LLD. llvm-svn: 244549
* MIR Serialization: Serialize UsedPhysRegMask from the machine register info.Alex Lorenz2015-08-115-0/+165
| | | | | | | | | | | | This commit serializes the UsedPhysRegMask register mask from the machine register information class. The mask is serialized as an inverted 'calleeSavedRegisters' mask to keep the output minimal. This commit also allows the MIR parser to infer this mask from the register mask operands if the machine function doesn't specify it. Reviewers: Duncan P. N. Exon Smith llvm-svn: 244548
* [modules] Don't suggest deleting the module cache on an error if there is no ↵Richard Smith2015-08-111-0/+1
| | | | | | module cache for this build. llvm-svn: 244547
* [sanitizers] Use portable file read/write wrappers on process pipesReid Kleckner2015-08-112-9/+11
| | | | | | | This fixes a minor error checking bug around calling internal_read/write, and makes the code more portable for D11791. llvm-svn: 244546
* use range-based for loops; NFCISanjay Patel2015-08-111-8/+2
| | | | llvm-svn: 244545
* [libFuzzer] don't crash if the condition in a switch has unusual type (e.g. i72)Kostya Serebryany2015-08-112-0/+27
| | | | llvm-svn: 244544
* Address post-commit review from r243378.Sanjoy Das2015-08-111-0/+1
| | | | | | This checks that bork_directive occurs exactly twice in the test output. llvm-svn: 244543
* add commentDerek Schuff2015-08-111-0/+1
| | | | llvm-svn: 244542
* Add NaCl to long double/fp128 mangling testDerek Schuff2015-08-111-0/+3
| | | | | | | | | | | | | | | Summary: NaCl is a platform where long double is the same as double. Its mangling is spelled with "long double" but its ABI lowering is the same as double. Reviewers: rnk, chh Subscribers: jfb, cfe-commits, dschuff Differential Revision: http://reviews.llvm.org/D11922 llvm-svn: 244541
* [LAA] Change name from addRuntimeCheck to addRuntimeChecks, NFCAdam Nemet2015-08-114-11/+11
| | | | | | This was requested by Hal in D11205. llvm-svn: 244540
* [modules] Properly diagnose errors in module files for which we have noRichard Smith2015-08-113-10/+22
| | | | | | corresponding include location (those specified on the command line). llvm-svn: 244538
* Fix some tabs.Richard Smith2015-08-111-4/+3
| | | | llvm-svn: 244537
* MIR Parser: Report an error when a stack object is redefined.Alex Lorenz2015-08-103-3/+44
| | | | llvm-svn: 244536
* Add lduw and lwua aliases for SPARCv9.Joerg Sonnenberger2015-08-102-0/+20
| | | | llvm-svn: 244535
* MIR Parser: Report an error when a fixed stack object is redefined.Alex Lorenz2015-08-103-3/+37
| | | | llvm-svn: 244534
* [Windows] Implement FileExists, ReadFromFile, and FindPathToBinaryReid Kleckner2015-08-105-48/+96
| | | | | | | | | | | | Summary: These are needed to talk to llvm-symbolizer on Windows. Reviewers: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11920 llvm-svn: 244533
* Load/store for float registers from/to alternate space.Joerg Sonnenberger2015-08-102-6/+35
| | | | llvm-svn: 244532
* use range-based for loop; NFCISanjay Patel2015-08-101-5/+5
| | | | llvm-svn: 244531
* Remove some dead code.Richard Smith2015-08-102-19/+1
| | | | llvm-svn: 244530
* MIR Serialization: Serialize the liveout register mask machine operands.Alex Lorenz2015-08-105-0/+90
| | | | llvm-svn: 244529
* fix minsize detection: minsize attribute implies optimizing for sizeSanjay Patel2015-08-102-3/+39
| | | | llvm-svn: 244528
* [LoopVer] Remove unused pointer partition argument, NFC.Adam Nemet2015-08-102-4/+2
| | | | llvm-svn: 244527
* Append options for vectorization when pointer checking threshold is exceeded.Tyler Nowicki2015-08-103-0/+34
| | | | | | Following one of the appended options will allow the loop to be vectorized. We do not include a command line option for modifying the pointer checking threshold because there is no clang-level interface for this currently. llvm-svn: 244526
* Move file-local classes to an anonymous namespace. NFC.Rui Ueyama2015-08-101-166/+168
| | | | llvm-svn: 244525
* Add NaCl (a target where long double = double) to long double ABI testDerek Schuff2015-08-101-4/+24
| | | | | | | | | | | | | | A test was recently (r244468) added to cover long double calling convention codegen, distinguishing between Android and GNU conventions (where long doubles are fp128 and x86_fp80, respectively). Native Client is a target where long doubles are the same as doubles. This change augments the test to cover that case. Also rename the test to test/codeGen/X86_64-longdouble.c Differential Revision: http://reviews.llvm.org/D11921 llvm-svn: 244524
* Extend late diagnostics to include late test for runtime pointer checks.Tyler Nowicki2015-08-104-15/+84
| | | | | | This patch moves checking the threshold of runtime pointer checks to the vectorization requirements (late diagnostics) and emits a diagnostic that infroms the user the loop would be vectorized if not for exceeding the pointer-check threshold. Clang will also append the options that can be used to allow vectorization. llvm-svn: 244523
* [Windows] Relax test case patterns to allow parameter listsReid Kleckner2015-08-1015-28/+28
| | | | | | | | llvm-symbolizer will print parameter types. Split out from D11791. NFC llvm-svn: 244522
* test case for poisoning trivial membersNaomi Musgrave2015-08-101-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A virtual base class and derived class should only poison their respective members upon destruction. In particular, trivial members should be poisoned directly, non-trivial members should be poisoned by their respective destructors, and references to non-trivial members should be poisoned. Reviewers: eugenis, kcc Differential Revision: http://reviews.llvm.org/D11912 Test case avoids casting to access members Run configurations to reflect expected runtime failure on assertions. Simplified access to internal members. Updated internal member structure of base. Revised assert in main to verify successful poisoning after dtor. Verify address of pointer is poisoned. Fixed assert err. Cleaned up test by removing extraneous prints, asserts. llvm-svn: 244521
* WebAssembly: print immediatesJF Bastien2015-08-104-20/+216
| | | | | | | | | | | | | | | Summary: For now output using C99's hexadecimal floating-point representation. This patch also cleans up how machine operands are printed: instead of special-casing per type of machine instruction, the code now handles operands generically. Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11914 llvm-svn: 244520
* Add support for the signx instrution alias of SPARCv9.Joerg Sonnenberger2015-08-102-0/+14
| | | | llvm-svn: 244519
* NFC. Fix some format issues in lib/CodeGen/MachineBasicBlock.cpp.Cong Hou2015-08-101-11/+13
| | | | llvm-svn: 244518
OpenPOWER on IntegriCloud