summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* In Thumb1 mode, the custom lowering for ARMISD::CMPZ could never emit tADDi3Artyom Skrobov2017-02-172-18/+16
| | | | | | | | | | | | Reviewers: jmolloy, t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D30097 llvm-svn: 295478
* [X86][TBM] Add TBM stack folding testsSimon Pilgrim2017-02-171-0/+201
| | | | llvm-svn: 295477
* GlobalISel: verify that generic loads & stores have a mem operand.Tim Northover2017-02-175-20/+28
| | | | | | | The mem operand is used by GlobalISel to convey atomic constraints so dropping it is invalid. llvm-svn: 295476
* [AArch64] Add Cavium ThunderX supportJoel Jones2017-02-178-2/+5622
| | | | | | | | | | | | | | This set of patches adds support for Cavium ThunderX ARM64 processors: * ThunderX * ThunderX T81 * ThunderX T83 * ThunderX T88 Patch by Stefan Teleman Differential Revision: https://reviews.llvm.org/D28891 llvm-svn: 295475
* [OpenMP] Fix cancellation point in task with no cancelJonas Hahnfeld2017-02-172-1/+18
| | | | | | | | | With tasks, the cancel may happen in another task. This has a different region info which means that we can't find it here. Differential Revision: https://reviews.llvm.org/D30091 llvm-svn: 295474
* [OpenMP] Remove barriers at cancel and cancellation pointJonas Hahnfeld2017-02-173-26/+4
| | | | | | | | | | | | | | | | This resolves a deadlock with the cancel directive when there is no explicit cancellation point. In that case, the implicit barrier acts as cancellation point. After removing the barrier after cancel, the now unmatched barrier for the explicit cancellation point has to go as well. This has probably worked before rL255992: With the calls for the explicit barrier, it was sure that all threads passed a barrier before exiting. Reported by Simon Convent and Joachim Protze! Differential Revision: https://reviews.llvm.org/D30088 llvm-svn: 295473
* WholeProgramDevirt: Examine the function body when deciding whether ↵Peter Collingbourne2017-02-172-18/+81
| | | | | | | | | | functions are readnone. The goal is to get an analysis result even for de-refineable functions. Differential Revision: https://reviews.llvm.org/D29803 llvm-svn: 295472
* [Docs] 'Limitations' should be a subsectionAlex Lorenz2017-02-171-1/+1
| | | | | | | | The 'Limitations' section in thedocumentation for readability-misleading-indentation should be a subsection, as otherwise the link to 'Limitations' isn't indented in the 'Clang-Tidy Checks' documentation page. llvm-svn: 295471
* [X86][BMI] Add BMI2 stack folding testsSimon Pilgrim2017-02-171-0/+77
| | | | llvm-svn: 295470
* [PGO] remove unintended debug trace. NFCRong Xu2017-02-171-4/+1
| | | | llvm-svn: 295469
* opt: Rename -default-data-layout flag to -data-layout and make it always ↵Peter Collingbourne2017-02-1713-31/+27
| | | | | | | | | | override the layout. There isn't much point in a flag that only works if the data layout is empty. Differential Revision: https://reviews.llvm.org/D30014 llvm-svn: 295468
* Don't print DISCARD sections as gced.Rafael Espindola2017-02-175-16/+22
| | | | | | | | This is a small difference I noticed to gold and bfd. When given --print-gc-sections, we print sections a linkerscript marks DISCARD. The other linkers don't. llvm-svn: 295467
* Rename DiagnosticInfoWithDebugLoc to WithLocation to match LLVMJustin Bogner2017-02-171-3/+3
| | | | | | Updates for llvm r295465. llvm-svn: 295466
* OptDiag: Rename DiagnosticInfoWithDebugLoc to WithLocation. NFCJustin Bogner2017-02-172-10/+9
| | | | | | | This generalizes the name in preparation for decoupling the concept from DebugLoc. llvm-svn: 295465
* MC/COFF: Do not emit forward associative section referenceds.Rui Ueyama2017-02-174-34/+61
| | | | | | | | | | | | | | | | MSVC link.exe cannot handle associative sections that refer later sections in the section header. Technically, such COFF object doesn't violate the Microsoft COFF spec, as the spec doesn't say anything about that, but still we should avoid doing that to make it compatible with MS tools. This patch assigns smaller section numbers to non-associative sections and larger numbers to associative sections. This should resolve the compatibility issue. Differential Revision: https://reviews.llvm.org/D30080 llvm-svn: 295464
* [DAGCombiner] split i1 select-of-constants from non-i1 case; NFCISanjay Patel2017-02-171-9/+25
| | | | | | I can't find any tests of the non-i1 code path, so it may be unnecessary at this point. llvm-svn: 295463
* [X86][BMI] Add BMI stack folding testsSimon Pilgrim2017-02-171-0/+121
| | | | llvm-svn: 295462
* [stats] add stats-gathering for static_steal scheduling methodJonathan Peyton2017-02-172-0/+8
| | | | | | | | Add counter to count number of static_steal for loops Add counter for number of chunks executed per static_steal for loop Add counter for number of chunks stolen per static_steal for loop llvm-svn: 295461
* [PowerPC] add tests for select-of-constants; NFCSanjay Patel2017-02-171-0/+474
| | | | llvm-svn: 295460
* [ARM] add tests for select-of-constants; NFCSanjay Patel2017-02-171-0/+257
| | | | llvm-svn: 295459
* Diagnose another case of the location counter moving backwards.Rafael Espindola2017-02-173-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | This case should be possible to handle, but it is hard: * In order to create program headers correctly, we have to scan the sections in the order they are in the file. * To find that order, we have to "execute" the linker script. * The linker script can contain SIZEOF_HEADERS. So to support this we have to start with a guess of how many headers we need (3), run the linker script and try to create the program headers. If it turns out we need more headers, we run the script again with a larger SIZEOF_HEADERS. Also, running the linker script depends on knowing the size of the sections, so we have to finalize them. But creating the program headers can change the value stored in some sections, so we have to split size finalization and content finalization. Looks like the last part is also needed for range extension thunks, so we might support this at some point. For now just report an error instead of producing broken files. llvm-svn: 295458
* NPL: Fix an incorrect logging formatv callPavel Labath2017-02-171-2/+2
| | | | llvm-svn: 295457
* [LV] Remove constant restriction for vector phi creationMatthew Simpson2017-02-172-56/+126
| | | | | | | | | | | | We previously only created a vector phi node for an induction variable if its step had a constant integer type. However, the step actually only needs to be loop-invariant. We only handle inductions having loop-invariant steps, so this patch should enable vector phi node creation for all integer induction variables that will be vectorized. Differential Revision: https://reviews.llvm.org/D29956 llvm-svn: 295456
* Switch GDBRemoteLog to the new registration mechanismPavel Labath2017-02-173-213/+32
| | | | llvm-svn: 295455
* Reject moving the location counter backwards.Rafael Espindola2017-02-173-21/+31
| | | | | | We were only checking when the assignment was inside a section. llvm-svn: 295454
* Fix signed/unsigned comparison warning.Simon Pilgrim2017-02-171-2/+2
| | | | llvm-svn: 295453
* [ARM] Replace HasT2ExtractPack with HasDSPSam Parker2017-02-1710-260/+217
| | | | | | | | | | | Removed the HasT2ExtractPack feature and replaced its references with HasDSP. This then allows the Thumb2 extend instructions to be selected for ARMv8M +dsp. These instruction descriptions have also been refactored and more target tests have been added for their isel. Differential Revision: https://reviews.llvm.org/D29623 llvm-svn: 295452
* [DAGCombine] Recognise any_extend_vector_inreg and truncation style shuffle ↵Simon Pilgrim2017-02-175-11/+128
| | | | | | | | | | | | | | masks During legalization we are often creating shuffles (via a build_vector scalarization stage) that are "any_extend_vector_inreg" style masks, and also other masks that are the equivalent of "truncate_vector_inreg" (if we had such a thing). This patch is an attempt to match these cases to help undo the effects of just leaving shuffle lowering to handle it - which typically means we lose track of the undefined elements of the shuffles resulting in an unnecessary extension+truncation stage for widened illegal types. The 2011-10-21-widen-cmp.ll regression will be fixed by making SIGN_EXTEND_VECTOR_IN_REG legal in SSE instead of lowering them to X86ISD::VSEXT (PR31712). Differential Revision: https://reviews.llvm.org/D29454 llvm-svn: 295451
* Switch ProcessKDPLog to the new channel registration mechanismPavel Labath2017-02-174-203/+35
| | | | llvm-svn: 295450
* Revert "Use pthreads for thread-local lsan allocator cache on darwin"Francis Ricci2017-02-174-56/+44
| | | | | | | | This caused a failure in Linux-x86_64 stack-use-after-return This reverts commit 1f9563141e999016d13ac3fc6a50fde690381e82. llvm-svn: 295449
* Add static. NFC.Rafael Espindola2017-02-171-1/+1
| | | | llvm-svn: 295448
* [DAGCombiner] improve readability; NFCISanjay Patel2017-02-171-44/+32
| | | | llvm-svn: 295447
* [ARM] GlobalISel: Clean up some helpersDiana Picus2017-02-171-19/+24
| | | | | | | Return invalid opcodes when some of the helpers in the instruction selection pass can't handle a given combination. llvm-svn: 295446
* Fix compiler warnings for missing switch cases in lldb.Pavel Labath2017-02-174-87/+10
| | | | | | | | | | | | | | | | | | | Summary: There have been a few new values added to a few LLVM enums this change makes sure that LLDB code handles them correctly. Reviewers: labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D30005 Author: Eugene Zemtsov <ezemtsov@google.com> llvm-svn: 295445
* Drop leftover debug statementTobias Grosser2017-02-171-1/+0
| | | | llvm-svn: 295444
* Fix VASprintfTest on darwinPavel Labath2017-02-171-2/+2
| | | | | | | | | The way of injecting an error into the printf call was not working on darwin - the C library still happily format the character. It only returns an error after we use a wide character that does not fit into a single byte, so switch the test to use that. llvm-svn: 295443
* Reapply "Refactor log channel registration mechanism"Pavel Labath2017-02-1711-492/+339
| | | | | | | | | Changes wrt. previous version: - add #include <atomic>: fix build on windows - add extra {} around the string literals used to initialize llvm::StringLiteral: fix gcc build llvm-svn: 295442
* [ARM] GlobalISel: Check mappings used by reg bank selectDiana Picus2017-02-171-21/+120
| | | | | | | | Add some asserts to make sure we're using the mappings that we think we're using. This is to keep us from accidentally breaking functionality while moving to TableGen'erated mappings. llvm-svn: 295441
* NPL: Fix one more bug in the single step workaroundPavel Labath2017-02-173-6/+10
| | | | | | | | | | | | | | | | | In the case we are stepping over the thread creation instruction, we will end up calling Thread::SingleStep back-to-back twice (because of the intermediate PTRACE_EVENT_CLONE stop). This will cause the cpu mask to be set inappropriately (because the old SingleStepCheck object will be destroyed after we create the new one), and the single-step will fail. Before the refactor the code was still incorrect in this case, but in a different way (the thread was left with the incorrect mask after the stepping was complete), so this was not easy to spot. This fixes TestCreateDuringInstructionStep on the affected devices. llvm-svn: 295440
* [ARM] GlobalISel: Use Subtarget in LegalizerDiana Picus2017-02-174-16/+16
| | | | | | | | Start using the Subtarget to make decisions about what's legal. In particular, we only mark floating point operations as legal if we have VFP2, which is something we should've done from the very start. llvm-svn: 295439
* [ARM] GlobalISel: Add end-to-end tests for doubleDiana Picus2017-02-171-0/+21
| | | | | | Test some really basic functionality through the whole GlobalISel pipeline. llvm-svn: 295438
* clang-format: Don't remove existing spaces between identifier and ::.Daniel Jasper2017-02-172-3/+9
| | | | | | | | | | | | | | | | | | | | This can lead to bad behavior with macros that are used to annotate functions (e.g. ALWAYS_INLINE). Before, this: ALWAYS_INLINE ::std::string getName() ... was turned into: ALWAYS_INLINE::std::string getName() ... If it turns out that clang-format is failing to clean up a lot of the existing spaces now, we can add more analyses of the identifier. It should not currently. Cases where clang-format breaks nested name specifiers should be fine as clang-format wraps after the "::". Thus, a line getting longer and then shorter again should lead to the same original code. llvm-svn: 295437
* Fix breakage caused by r295368Pavel Labath2017-02-174-3/+4
| | | | | | | Also move the ErrorTest into the Utility package, to follow the class it is testing. llvm-svn: 295436
* [clang-tidy] Add cert-dcl58-cpp (do not modify the 'std' namespace) check.Gabor Horvath2017-02-179-0/+207
| | | | | | Differential Revision: https://reviews.llvm.org/D23421 llvm-svn: 295435
* Update all bug URL's to point to https://bugs.llvm.org/...Eric Fiselier2017-02-1740-46/+46
| | | | llvm-svn: 295434
* Update Bugzilla URLs in docsIsmail Donmez2017-02-171-3/+3
| | | | llvm-svn: 295433
* Update Bugzilla URLs in docsIsmail Donmez2017-02-175-6/+6
| | | | llvm-svn: 295432
* [ScopInfo] Add statistics to count loops after scop modelingTobias Grosser2017-02-174-22/+302
| | | | llvm-svn: 295431
* [ScopDetection] Compute the maximal loop depth correctlyTobias Grosser2017-02-172-1/+250
| | | | | | | Before this change, we obtained loop depth numbers that were deeper then the actual loop depth. llvm-svn: 295430
* InstCombine: fix extraction when performing vector/array punningEugene Leviant2017-02-172-1/+17
| | | | | | Differential revision: https://reviews.llvm.org/D29491 llvm-svn: 295429
OpenPOWER on IntegriCloud