summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Use __builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi to ↵Craig Topper2016-07-093-13/+18
| | | | | | | | implement pextrw/pinsertw MMX intrinsics instead of trying to use native IR. Without this we end up generating code that doesn't use mmx registers and probably doesn't work well with other mmx intrinsics. llvm-svn: 274968
* [X86] Remove sse41 extract intrinsics. They are not used by clang and are ↵Craig Topper2016-07-091-16/+0
| | | | | | not implemented by the x86 backend. llvm-svn: 274967
* [X86] Remove and autoupgrade 512-bit non-temporal store intrinsics.Craig Topper2016-07-096-72/+40
| | | | llvm-svn: 274966
* [X86] Uncomment the _mm_extract_ps test and add checks.Craig Topper2016-07-091-4/+5
| | | | llvm-svn: 274965
* [esan] Add __esan_report for mid-run dataDerek Bruening2016-07-0911-5/+166
| | | | | | | | | | | | | | | | | | | | | Summary: Adds a new public interface routine __esan_report() which can be used to request profiling results prior to abnormal termination (e.g., for a server process killed by its parent where the normal exit does not allow for normal result reporting). Implements this for the working-set tool. The cache frag tool is left unimplemented as it requires missing iteration capabilities. Adds a new test. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D22098 llvm-svn: 274964
* [LoopSimplify] Remove a comment which is unlikely to age well.Davide Italiano2016-07-091-4/+0
| | | | | | | Chandler pointed out in his review but I forgot to remove before committing, my bad. llvm-svn: 274963
* [PM] Port CrossDSOCFI to the new pass manager.Davide Italiano2016-07-095-1/+41
| | | | llvm-svn: 274962
* [CFLAA] Make a constant variable `const`. NFC.George Burgess IV2016-07-091-1/+1
| | | | | | | `const` was dropped by r274958, and the lack of `const` makes GCC6 (correctly) complain. llvm-svn: 274961
* [PM] Fix a think-o. mv {Scalar,Vectorize}/SLPVectorize.hSean Silva2016-07-093-2/+2
| | | | llvm-svn: 274960
* [PM] Port LoopSimplify to the new pass manager.Davide Italiano2016-07-097-8/+100
| | | | | | | | | While here move simplifyLoop() function to the new header, as suggested by Chandler in the review. Differential Revision: http://reviews.llvm.org/D21404 llvm-svn: 274959
* [CFLAA] Move the graph builder out from CFLSteens. NFC.George Burgess IV2016-07-095-422/+459
| | | | | | | | Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D22022 llvm-svn: 274958
* [CFLAA] Simplify CFLGraphBuilder. NFC.George Burgess IV2016-07-091-41/+25
| | | | | | | | | | | This removes a few fields from the graph builder by making us compute things (that we'd always compute anyway) more eagerly. Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D22009 llvm-svn: 274957
* CodeGen: tweak CFString section for COFF, ELFSaleem Abdulrasool2016-07-092-9/+7
| | | | | | | | | Place the structure data into `cfstring`. This both isolates the structures to permit coalescing in the future (by the linker) as well as ensures that it doesnt get marked as read-only data. The structures themselves are not read-only, only the string contents. llvm-svn: 274956
* LivePhysRegs: addLiveOuts() can skip addPristines() in ret blockMatthias Braun2016-07-091-1/+2
| | | | | | | | Drive-by improvement: We would 1) add CSRs, 2) remove callee saved CSRs and 3) add all CSRs again for the return block. Just adding CSRs once obviously gives the same results. llvm-svn: 274955
* AMDGPU: Improve offset folding for register indexingMatt Arsenault2016-07-097-47/+137
| | | | llvm-svn: 274954
* AMDGPU: Simplify isSchedulingBoundaryMatt Arsenault2016-07-091-5/+4
| | | | llvm-svn: 274953
* VirtRegMap: Replace some identity copies with KILL instructions.Matthias Braun2016-07-0980-163/+9755
| | | | | | | | | | | | | | An identity COPY like this: %AL = COPY %AL, %EAX<imp-def> has no semantic effect, but encodes liveness information: Further users of %EAX only depend on this instruction even though it does not define the full register. Replace the COPY with a KILL instruction in those cases to maintain this liveness information. (This reverts a small part of r238588 but this time adds a comment explaining why a KILL instruction is useful). llvm-svn: 274952
* AsmPrinter: Fix emitKill() not flush()ing a raw_string_ostreamMatthias Braun2016-07-091-1/+1
| | | | llvm-svn: 274951
* Added REQUIRES to TestingGuide documentationPiotr Padlewski2016-07-082-0/+48
| | | | | | | | | | Reviewers: alexfh, wolfgangp, rengolin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D22172 llvm-svn: 274949
* When calling "settings set target.source-map <old-path> <new-path>", make ↵Greg Clayton2016-07-082-14/+70
| | | | | | | | | | sure that <new-path> exists before accepting it as a remapping. We had some clients that had added old source paths remappings to their .lldbinit files and they were causing trouble at a later date. This fix should help mitigate these issues. <rdar://problem/26358860> llvm-svn: 274948
* Add 'thinlto_src_module' md with asserts or -enable-import-metadataPiotr Padlewski2016-07-082-8/+21
| | | | | | | | | | | | | | | | Summary: This way the metadata will be only generated when asserts enabled, or when -enable-import-metadata specified FIXED missing colon on requires. Reviewers: tejohnson, eraman, mehdi_amini Subscribers: mehdi_amini, llvm-commits Differential Revision: http://reviews.llvm.org/D22167 llvm-svn: 274947
* Revert "Add 'thinlto_src_module' md with asserts or -enable-import-metadata"Piotr Padlewski2016-07-082-22/+9
| | | | | | | | | Reverting because of 17463 http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/17463 This reverts commit d20cb431bba2ba43b4c65a8556cff445bfefbb7c. llvm-svn: 274946
* [lanai] Update test to use peephole-opt and not peephole-optsJacques Pienaar2016-07-081-1/+1
| | | | llvm-svn: 274945
* Revert "Add runtime support for __cpu_model (__builtin_cpu_supports)"Alina Sbirlea2016-07-083-820/+1
| | | | | | This reverts commit r274873 until additional fixes are resolved. llvm-svn: 274944
* Revert "InstCombine rule to fold truncs whose value is available"Anna Thomas2016-07-084-218/+17
| | | | | | | This reverts commit r274853. Caused failure in ppcBE build llvm-svn: 274943
* Lanai: Avoid implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-081-6/+6
| | | | | | | Avoid implicit conversions from MachineInstrBundleIterator to MachineInstr* in the Lanai backend. llvm-svn: 274942
* [MC, COFF] Permit a variable to be redefinedDavid Majnemer2016-07-082-19/+25
| | | | | | | | | Our assertions in WinCOFFStreamer had unexpected side effects resulting in symbols getting unexpectedly marked as used. This fixes PR28462. llvm-svn: 274941
* [TTI] Expose TTI::getGEPCost and use it in SLSR and NaryReassociate.Jingyue Wu2016-07-085-80/+28
| | | | | | NFC. llvm-svn: 274940
* AMDGPU: Remove unused control flow intrinsicMatt Arsenault2016-07-087-32/+0
| | | | llvm-svn: 274939
* Add 'thinlto_src_module' md with asserts or -enable-import-metadataPiotr Padlewski2016-07-082-9/+22
| | | | | | | | | | | | | | Summary: This way the metadata will be only generated when asserts enabled, or when -enable-import-metadata specified Reviewers: tejohnson, eraman, mehdi_amini Subscribers: mehdi_amini, llvm-commits Differential Revision: http://reviews.llvm.org/D22167 llvm-svn: 274938
* Reapply r274829 with fix for FP vectorsMatt Arsenault2016-07-084-2/+60
| | | | llvm-svn: 274937
* [BFI] Minor cleanup. NFCAdam Nemet2016-07-081-2/+2
| | | | | | Use typedef Result in BlockFrequencyAnalysis::run. Fix typo in comment. llvm-svn: 274936
* [LAA] Port test to the new PMAdam Nemet2016-07-081-3/+13
| | | | | | | | | | | This is a follow-on to r274452. The LAA with the new PM is a loop pass so we go from inner to outer loops. Also using a CHECK-NOT didn't make much sense because we print something in either case; whether an invariant is 'found' or 'not found'. llvm-svn: 274935
* [PM] name the new PM LAA class LoopAccessAnalysis (LAA) /NFCXinliang David Li2016-07-083-9/+15
| | | | llvm-svn: 274934
* MSP430: Avoid implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-084-32/+31
| | | | | | | | Avoid implicit conversions from MachineInstrBundleIIterator to MachineInstr* in the MSP430 backend by preferring MachineInstr& over MachineInstr* when a pointer isn't nullable. llvm-svn: 274933
* [InstCombine] don't form select from bitcasted logic ops if bitcasts have >1 useSanjay Patel2016-07-082-7/+6
| | | | | | | | | | | | | | | This isn't a sure thing (are 2 extra bitcasts less expensive than a logic op?), but we'll try to err on the conservative side by going with the case that has less IR instructions. Note: This question came up in http://reviews.llvm.org/D22114 , but this part is independent of that patch proposal, so I'm making this small change ahead of that one. See also: http://reviews.llvm.org/rL274926 llvm-svn: 274932
* NVPTX: Avoid implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-083-22/+21
| | | | | | | | | | | | | | | | | Avoid implicit conversions from MachineInstrBundleIterator to MachineInstr* in the NVPTX backend, mainly by preferring MachineInstr& over MachineInstr* when a pointer isn't nullable and using range-based for loops. There was one piece of questionable code in NVPTXInstrInfo::AnalyzeBranch, where a condition checked a pointer converted from an iterator for nullptr. Since this case is impossible (moreover, the code above guarantees that the iterator is valid), I removed the check when I changed the pointer to a reference. Despite that case, there should be no functionality change here. llvm-svn: 274931
* Teach -ast-print to print constexpr variables.Vassil Vassilev2016-07-082-4/+13
| | | | | | Patch reviewed by Richard Smith (D22168). llvm-svn: 274930
* add another multi-use test for logic->select transformSanjay Patel2016-07-081-1/+27
| | | | llvm-svn: 274929
* Allow dead insts to be kept in DeadRemat only when they are rematerializable.Wei Mi2016-07-086-20/+31
| | | | | | | | | | | | | | | Because isReallyTriviallyReMaterializableGeneric puts many limits on rematerializable instructions, this fix can prevent instructions with tied virtual operands and instructions with virtual register uses from being kept in DeadRemat, so as to workaround the live interval consistency problem for the dummy instructions kept in DeadRemat. But we still need to fix the live interval consistency problem. This patch is just a short time relieve. PR28464 has been filed as a reminder. Differential Revision: http://reviews.llvm.org/D19486 llvm-svn: 274928
* Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFCXinliang David Li2016-07-089-34/+34
| | | | llvm-svn: 274927
* [InstCombine] don't form select from logic ops if it's unlikely that we'll ↵Sanjay Patel2016-07-082-20/+23
| | | | | | eliminate any ops llvm-svn: 274926
* adjust test so it won't completely optimize awaySanjay Patel2016-07-081-4/+4
| | | | llvm-svn: 274925
* AArch64: Avoid implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-088-222/+217
| | | | | | | | Avoid implicit conversions from MachineInstrBundleInstr to MachineInstr* in the AArch64 backend, mainly by preferring MachineInstr& over MachineInstr* when a pointer isn't nullable. llvm-svn: 274924
* [OpenCL] Add missing -cl-no-signed-zeros option into driverYaxun Liu2016-07-086-13/+33
| | | | | | | | | | | | Add OCL option -cl-no-signed-zeros to driver options. Also added to opencl.cl testcases. Patch by Aaron En Ye Shi. Differential Revision: http://reviews.llvm.org/D22067 llvm-svn: 274923
* add tests for multi-use folding to selectSanjay Patel2016-07-081-0/+40
| | | | llvm-svn: 274922
* Remove duplicate inclusion /NFCXinliang David Li2016-07-081-1/+0
| | | | llvm-svn: 274921
* ARM: Remove implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-088-135/+124
| | | | | | | | | | | Remove remaining implicit conversions from MachineInstrBundleIterator to MachineInstr* from the ARM backend. In most cases, I made them less attractive by preferring MachineInstr& or using a ranged-based for loop. Once all the backends are fixed I'll make the operator explicit so that this doesn't bitrot back. llvm-svn: 274920
* TableGen: Update style in CodeGenIntrinsics. NFCJustin Bogner2016-07-081-103/+96
| | | | | | | | Ran clang-format to remove the namespace indentation, and stopped repeating names in doc comments since I was updating every line anyway. llvm-svn: 274919
* Remove inline hints computation from SampleProfile.cppDehao Chen2016-07-082-111/+0
| | | | | | | | | | | | Summary: As we will move to use uniformed hotness check in inliner, we do not need inline hints in SampleProfile pass any more. Reviewers: dnovillo, davidxl Subscribers: eraman, llvm-commits Differential Revision: http://reviews.llvm.org/D19287 llvm-svn: 274918
OpenPOWER on IntegriCloud