summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target.Alexey Bataev2019-01-228-5261/+5257
| | | | | | | | | | | | Summary: Enable full support for the debug info. Reviewers: echristo Subscribers: jholewinski, aprantl, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D46189 llvm-svn: 351846
* Revert r351520, "Re-enable terminator folding in LoopSimplifyCFG"Jordan Rupprecht2019-01-221-1/+1
| | | | | | This is still causing compilation crashes in some targets. Will follow up shortly with a repro. llvm-svn: 351845
* [DEBUG_INFO, NVPTX] Fix relocation info.Alexey Bataev2019-01-227-24/+66
| | | | | | | | | | | | Summary: Initial function labels must follow the debug location for the correct relocation info generation. Reviewers: tra, jlebar, echristo Subscribers: jholewinski, llvm-commits Differential Revision: https://reviews.llvm.org/D45784 llvm-svn: 351843
* [llvm-mca][X86] Add VPOPCNTDQ testsSimon Pilgrim2019-01-222-0/+238
| | | | | | Matches test coverage of test\CodeGen\X86\avx512vpopcntdq-schedule.ll llvm-svn: 351842
* ReleaseNotes: remove openmp notes from r351580Hans Wennborg2019-01-221-30/+1
| | | | | | They were for the 8.0 branch, and have been committed there in r351839. llvm-svn: 351841
* [x86] add partial undef 'and' test; NFCSanjay Patel2019-01-221-1/+22
| | | | llvm-svn: 351840
* [docs] Scudo: document error messages & their potential causeKostya Kortchinsky2019-01-221-3/+53
| | | | | | | | | | | | | | | | | | Summary: A couple of changes in the Scudo documentation: - tag the shell code blocks as `console`; - document error messages that are displayed in some termination conditions, the reason they triggered, and potential causes. Reviewers: eugenis, enh Reviewed By: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D56857 llvm-svn: 351838
* Add DIGlobalVariableExpression to LangRefAdrian Prantl2019-01-221-6/+29
| | | | llvm-svn: 351837
* [llvm-mca][X86] Add missing CLWB/CLZERO/FSGSBASE/LWP/MWAITX/RDPID/SHA testsSimon Pilgrim2019-01-2217-0/+918
| | | | | | We're getting pretty close to matching/exceeding test coverage of the test\CodeGen\X86\*-schedule.ll files, which should allow us to get rid of -print-schedule and fix PR37160 llvm-svn: 351836
* [llvm-mca][X86] Add missing enter/leave, invlpg/invlpga, rdmsr/wrmsr, rdpmc ↵Simon Pilgrim2019-01-2211-13/+363
| | | | | | and rdtsc/rdtscp tests llvm-svn: 351835
* [x86] add another partial undef vector binop test; NFCSanjay Patel2019-01-221-1/+32
| | | | | | | | | The existing test unintentionally shows that we have prematurely optimized the shuffle into a vector concat and lost the undef info, so it is not affected by a basic improvement to SimplifyDemandedVectorElts. llvm-svn: 351834
* Use response file when generating LLVM-C.dllSerge Guelton2019-01-222-3/+21
| | | | | | | | | | As discovered in D56774 the command line gets to long, so use a response file to give the script the libs. This change has been tested and is confirmed working for me. Commited on behalf of Jakob Bornecrantz Differential Revision: https://reviews.llvm.org/D56781 llvm-svn: 351833
* Note that we have a patch for LWG3101Marshall Clow2019-01-221-2/+2
| | | | llvm-svn: 351832
* [llvm-mca][X86] Add missing mfence/pinsrw testsSimon Pilgrim2019-01-2211-11/+132
| | | | llvm-svn: 351831
* [CMake] Turn LLDB_FRAMEWORK_TOOLS into STRING to allow overrides from cache ↵Stefan Granitz2019-01-221-1/+1
| | | | | | files llvm-svn: 351830
* [llvm-mca][X86] Add missing monitor/mwait testsSimon Pilgrim2019-01-2211-10/+98
| | | | | | These technically should be under a MONITOR cpuid bit, but we tag them as SSE3 so I've done that here as well. llvm-svn: 351829
* [llvm-mca][X86] Add missing vperm2i128 testsSimon Pilgrim2019-01-226-6/+48
| | | | llvm-svn: 351828
* [llvm-mca][X86] Add missing tzcntw testsSimon Pilgrim2019-01-228-8/+64
| | | | llvm-svn: 351827
* [clangd] Followup fix of rL351818Haojian Wu2019-01-221-3/+5
| | | | | | | | | ClangTidyOptions::getDefaults is not free, it will initialize all clang-tidy modules to get check-specific options, and we don't use this information in CodeComplete, so using an empty one (constructed by default constructor) is sufficient. llvm-svn: 351826
* [DAGCombiner] narrow vector binop with 2 insert subvector operandsSanjay Patel2019-01-224-28/+44
| | | | | | | | | | | | | | | | | | vecbo (insertsubv undef, X, Z), (insertsubv undef, Y, Z) --> insertsubv VecC, (vecbo X, Y), Z This is another step in generic vector narrowing. It's also a step towards more horizontal op formation specifically for x86 (although we still failed to match those in the affected tests). The scalarization cases are also not optimal (we should be scalarizing those), but it's still an improvement to use a narrower vector op when we know part of the result must be constant because both inputs are undef in some vector lanes. I think a similar match but checking for a constant operand might help some of the cases in D51553. Differential Revision: https://reviews.llvm.org/D56875 llvm-svn: 351825
* [llvm-objdump] - Introduce getRelocsMap() helper. NFCI.George Rimar2019-01-221-22/+21
| | | | | | | | | | Currently disassembleObject() is a ~550 lines length function. This patch extracts the code that creates a section->their relocation mapping into a new helper function to simplify/reduce it a bit. Differential revision: https://reviews.llvm.org/D57019 llvm-svn: 351824
* [RISCV][NFC] Change naming scheme for RISC-V specific DAG nodesAlex Bradbury2019-01-221-43/+50
| | | | | | | | | | Previously we had names like 'Call' or 'Tail'. This potentially clashes with the naming scheme used elsewhere in RISCVInstrInfo.td. Many other backends would use names like AArch64call or PPCtail. I prefer the SystemZ approach, which uses prefixed all-lowercase names. This matches the naming scheme used for target-independent SelectionDAG nodes. llvm-svn: 351823
* [MCA] Add tests for int-to-fpu transfer delays. NFCAndrea Di Biagio2019-01-223-0/+612
| | | | llvm-svn: 351822
* Slight fix for r351820Serge Guelton2019-01-221-2/+2
| | | | llvm-svn: 351821
* Fix llvm::is_trivially_copyable portability issuesSerge Guelton2019-01-224-6/+55
| | | | | | | | | | | | | | | llvm::is_trivially_copyable portability is verified at compile time using std::is_trivially_copyable as the reference implementation. Unfortunately, the latter is not available on all platforms, so introduce a proper configure check to detect if it is available on the target platform. In a similar manner, std::is_copy_assignable is not fully supported for gcc4.9. Provide a portable (?) implementation instead. Differential Revision: https://reviews.llvm.org/D57018 llvm-svn: 351820
* [X86][SSE] Canonicalize OR(AND(X,C),AND(Y,~C)) -> OR(AND(X,C),ANDNP(C,Y))Simon Pilgrim2019-01-2216-969/+1012
| | | | | | | | | | For constant bit select patterns, replace one AND with a ANDNP, allowing us to reuse the constant mask. Only do this if the mask has multiple uses (to avoid losing load folding) or if we have XOP as its VPCMOV can handle most folding commutations. This also requires computeKnownBitsForTargetNode support for X86ISD::ANDNP and X86ISD::FOR to prevent regressions in fabs/fcopysign patterns. Differential Revision: https://reviews.llvm.org/D55935 llvm-svn: 351819
* Fix "missing field 'ClangTidyOpts' initializer" warning. NFCI.Simon Pilgrim2019-01-221-2/+3
| | | | llvm-svn: 351818
* [X86][BtVer2] SSE2 vector shifts has local forwarding disabledSimon Pilgrim2019-01-224-98/+98
| | | | | | | | Similar to horizontal ops on D56777, the sse2 (but not mmx) bit shift ops has local forwarding disabled, adding +1cy to the use latency for the result. Differential Revision: https://reviews.llvm.org/D57026 llvm-svn: 351817
* Fix "comparison of unsigned expression >= 0 is always true" warning. NFCI.Simon Pilgrim2019-01-221-1/+1
| | | | llvm-svn: 351816
* [X86][BtVer2] X86ISD::VPERMILPV has local forwarding disabledSimon Pilgrim2019-01-223-18/+18
| | | | | | | | Similar to horizontal ops on D56777, the vpermilpd/vpermilps variable mask ops has local forwarding disabled, adding +1cy to the use latency for the result. Differential Revision: https://reviews.llvm.org/D57022 llvm-svn: 351815
* [clang-tidy] Fix whitespace in docs. NFCAlexander Kornienko2019-01-221-15/+14
| | | | | | Actually, just testing commits via monorepo ;) llvm-svn: 351814
* [clangd] NFC: reduce log noise from Diagnostics.Eric Liu2019-01-221-2/+2
| | | | | | | | | | Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D57042 llvm-svn: 351813
* [clangd] Fix the broken buildbot.Haojian Wu2019-01-221-0/+1
| | | | llvm-svn: 351812
* Revert "[llvm-objcopy] [COFF] Implement --add-gnu-debuglink"Martin Storsjo2019-01-226-137/+7
| | | | | | | This reverts commit r351801, as it caused errors on (so far) ppc64be and aarch64 buildbots - the reason is yet unknown. llvm-svn: 351811
* [CostModel][X86] Add ICMP Predicate specific costsSimon Pilgrim2019-01-222-1044/+1085
| | | | | | | | First step towards PR40376, this patch adds support for getCmpSelInstrCost to use the (optional) Instruction CmpInst predicate to indicate the type of integer comparison we're performing and alter the costs accordingly. Differential Revision: https://reviews.llvm.org/D57013 llvm-svn: 351810
* [clangd] Fix the `-Wtype-limits` warning, NFCHaojian Wu2019-01-221-1/+0
| | | | | | The assertion is always true, and triggers a compiler warning, so remove it. llvm-svn: 351809
* Fix/unify top comment in lib/Analysis/PolyhedralInfo.cppMichal Gorny2019-01-221-15/+16
| | | | | | | | | | | Change the top comment in PolyhedralInfo.cpp to use // instead of ///, similarly to headers in other files. This fixes the issue of copyright line exceeding textwidth and triggering polly-check-format45 failure, e.g. seen here: http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8/builds/18293/steps/run%20unit%20tests/logs/stdio llvm-svn: 351808
* [X86][SSE] Add selective commutation support for insertps (PR40340)Simon Pilgrim2019-01-224-5/+26
| | | | | | | | When we are inserting 1 "inline" element, and zeroing 2 of the other elements then we can safely commute the insertps source inputs to improve memory folding. Differential Revision: https://reviews.llvm.org/D56843 llvm-svn: 351807
* [RISCV] Quick fix for PR40333Alex Bradbury2019-01-222-1/+32
| | | | | | | | | | | | | | Avoid the infinite loop caused by the target DAG combine converting ANYEXT to SIGNEXT and the target-independent DAG combine logic converting back to ANYEXT. Do this by not adding the new node to the worklist. Committing directly as this definitely doesn't make the problem any worse, and I intend to follow-up with a patch that avoids this custom combiner logic altogether and just lowers the i32 operations to a target-specific SelectionDAG node. This should be easier to reason about and improve codegen quality in some cases (though may miss out on some later DAG combines). llvm-svn: 351806
* [LoopPredication] Support guards expressed as branches by widenable conditionMax Kazantsev2019-01-222-4/+1546
| | | | | | | | | | This patch adds support of guards expressed as branches by widenable conditions in Loop Predication. Differential Revision: https://reviews.llvm.org/D56081 Reviewed By: reames llvm-svn: 351805
* [X86] Add test for matchAddressRecursively's MUL handlingSimon Pilgrim2019-01-221-0/+73
| | | | | | Noticed in code coverage tests that this isn't tested. llvm-svn: 351804
* [NFC] Add function to parse widenable conditional branchesMax Kazantsev2019-01-222-17/+29
| | | | llvm-svn: 351803
* [llvm-objcopy] [COFF] Implement --add-gnu-debuglinkMartin Storsjo2019-01-226-7/+137
| | | | | | Differential Revision: https://reviews.llvm.org/D57007 llvm-svn: 351801
* [llvm-objcopy] [COFF] Update symbol indices in weak externalsMartin Storsjo2019-01-226-6/+89
| | | | | | Differential Revision: https://reviews.llvm.org/D57006 llvm-svn: 351800
* [llvm-objcopy] Consistently use createStringError instead of ↵Martin Storsjo2019-01-226-42/+40
| | | | | | | | | | | | make_error<StringError> This was requested in the review of D57006. Also add missing quotes around symbol names in error messages. Differential Revision: https://reviews.llvm.org/D57014 llvm-svn: 351799
* [NFC][llvm-readobj]Normalise --/- inconsistency in test optionsJames Henderson2019-01-221-8/+8
| | | | llvm-svn: 351798
* [X86] HADDPS/HADDPD scalar lowering was added at rL350421Simon Pilgrim2019-01-221-12/+0
| | | | llvm-svn: 351797
* Revert r351778: IR: Add fp operations to atomicrmwChandler Carruth2019-01-2226-395/+22
| | | | | | | | | | | | | This broke the RISCV build, and even with that fixed, one of the RISCV tests behaves surprisingly differently with asserts than without, leaving there no clear test pattern to use. Generally it seems bad for hte IR to differ substantially due to asserts (as in, an alloca is used with asserts that isn't needed without!) and nothing I did simply would fix it so I'm reverting back to green. This also required reverting the RISCV build fix in r351782. llvm-svn: 351796
* [llvm-symbolizer] Add support for --basenames/-sJames Henderson2019-01-225-3/+30
| | | | | | | | | | | | | This fixes https://bugs.llvm.org/show_bug.cgi?id=40068. --basenames is a GNU addr2line switch which strips the directory names from the file path in the output. Reviewed by: ruiu Differential Revision: https://reviews.llvm.org/D56919 llvm-svn: 351795
* [NFC] Factor out some reusable logicMax Kazantsev2019-01-221-15/+21
| | | | llvm-svn: 351794
OpenPOWER on IntegriCloud