summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add LLDB_LOG_ERROR macroPavel Labath2018-01-303-6/+45
| | | | | | | | | | | | | | | | Summary: The difference between this and regular LLDB_LOG is that this one clears the error object unconditionally. This was inspired by the ObjectFileELF bug (r322664), where the error object was being cleared only if logging was enabled. Reviewers: davide, zturner, jingham, clayborg Subscribers: lldb-commits, emaste Differential Revision: https://reviews.llvm.org/D42182 llvm-svn: 323753
* Spelling mistake in comment. NFCI.Simon Pilgrim2018-01-301-1/+1
| | | | llvm-svn: 323752
* [clangd] Fix windows path manipulationSam McCall2018-01-301-2/+6
| | | | llvm-svn: 323751
* Change simple-register-allocation-read-undef.mir so that it doesn't fail if ↵Amaury Sechet2018-01-301-1/+1
| | | | | | the file path contains 'dead' . NFC llvm-svn: 323748
* [ELF] - Remove dead declaration. NFC.George Rimar2018-01-301-1/+0
| | | | llvm-svn: 323747
* Fix TestGDBRemoteClient on windowsPavel Labath2018-01-301-2/+3
| | | | | | | | | The logic was incorrect because on windows, we need to look for yaml2obj.EXE. I implement the search in terms of distutils.spawn.find_executable, which should handle the platform differences for us. llvm-svn: 323744
* Skip TestWithModuleDebugging on i386 linux (pr36146)Pavel Labath2018-01-301-0/+1
| | | | | | It fails due to an assertion (if these are enabled). llvm-svn: 323736
* [clangd] Enable completion index by default, limit results to 100.Sam McCall2018-01-301-5/+5
| | | | | | | | | | | | | | | | | | | | | Summary: This should speed up global code completion by avoiding deserializing preamble declarations to look up names. The tradeoff is memory usage. Currently the index is fairly naive and may not be much faster, but there's lots of performance headroom. These two changes go together because results from the index get copied a couple of times, so we should avoid it for huge sets. Also the flag should be -completion-limit, rather than -limit-completion. Reviewers: hokein, ioeric, ilya-biryukov Subscribers: klimek, jkorous-apple, cfe-commits Differential Revision: https://reviews.llvm.org/D42669 llvm-svn: 323734
* [ARM GlobalISel] Add inst selector tests for G_SITOFP and G_UITOFPDiana Picus2018-01-301-0/+113
| | | | | | These are handled by the TableGen'erated code. llvm-svn: 323732
* [ARM GlobalISel] Map G_SITOFP and G_UITOFPDiana Picus2018-01-302-0/+105
| | | | | | | Straightforward mapping (integer operand to GPR, floating point operand to FPR). llvm-svn: 323731
* [ARM GlobalISel] Legalize G_SITOFP and G_UITOFPDiana Picus2018-01-303-0/+173
| | | | | | | | Legal if we have hardware support, libcall otherwise. Also add supporting code to the legalizer helper for libcalls. llvm-svn: 323730
* [ELF] - Define linkerscript symbols early.George Rimar2018-01-309-76/+157
| | | | | | | | | | | | | | | | Currently symbols assigned or created by linkerscript are not processed early enough. As a result it is not possible to version them or assign any other flags/properties. Patch creates Defined symbols for -defsym and linkerscript symbols early, so that issue from above can be addressed. It is based on Rafael Espindola's version of D38239 patch. Fixes PR34121. Differential revision: https://reviews.llvm.org/D41987 llvm-svn: 323729
* [ARM GlobalISel] Add inst selector tests for G_FPTOSI and G_FPTOUIDiana Picus2018-01-301-0/+113
| | | | | | The work is done by the TableGen'erated code. llvm-svn: 323728
* [ARM GlobalISel] Map G_FPTOSI and G_FPTOUIDiana Picus2018-01-302-0/+105
| | | | | | | Straightforward mapping (integer operand goes to GPR, floating point operand goes to FPR). llvm-svn: 323727
* [ARM GlobalISel] Legalize G_FPTOSI and G_FPTOUIDiana Picus2018-01-303-3/+173
| | | | | | | | | Legal if we have hardware support for floating point, libcalls otherwise. Also add the necessary support for libcalls in the legalizer helper. llvm-svn: 323726
* [COFF] Remove the temporary file if not updating the import libraryMartin Storsjo2018-01-301-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D42621 llvm-svn: 323725
* [X86] Auto-generate complete checks. NFCCraig Topper2018-01-301-125/+330
| | | | llvm-svn: 323724
* dotest: Apply --skip-categories to debug info categoriesVedant Kumar2018-01-301-1/+1
| | | | llvm-svn: 323723
* add prefix with '_' support for property name. Corresponding apple dev doc: ↵Yan Zhang2018-01-306-28/+115
| | | | | | | | | | | | | | https://developer.apple.com/library/content/qa/qa1908/_index.html Reviewers: benhamilton, hokein Reviewed By: benhamilton Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D42464 llvm-svn: 323722
* [DWARF] Corrected test committed in r323670 to use llc instead of llc_dwarf ↵Wolfgang Pieb2018-01-301-2/+2
| | | | | | to avoid multiple triples. llvm-svn: 323721
* First cut at issue statuses for JAXMarshall Clow2018-01-301-51/+63
| | | | llvm-svn: 323720
* Add tests to make sure that <string_view> provides std::size/data/empty in ↵Marshall Clow2018-01-305-1/+40
| | | | | | C++17 mode. This is LWG#3009, coming up for a vote in JAX - but we already do it, just don't have tests llvm-svn: 323719
* [utils] De-duplicate utils/update_{llc_,}test_checks.pyFangrui Song2018-01-305-333/+296
| | | | | | | | Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42654 llvm-svn: 323718
* Revert "[coroutines] Fix application of NRVO to Coroutine "Gro" or return ↵Eric Fiselier2018-01-303-89/+5
| | | | | | | | | object." This reverts commit r323712. It's causing some test failures on certain machines. Not sure why, will investigate. llvm-svn: 323717
* [InstSimplify] (X * Y) / Y --> X for relaxed floating-point opsSanjay Patel2018-01-303-0/+54
| | | | | | | | | This is the FP counterpart that was mentioned in PR35709: https://bugs.llvm.org/show_bug.cgi?id=35709 Differential Revision: https://reviews.llvm.org/D42385 llvm-svn: 323716
* [SelectionDAG]: Ignore "returned" in the presence of an implicit sret.Dan Gohman2018-01-302-2/+24
| | | | | | | | | | | | | | | | When a function return value can't be directly lowered, such as returning an i128 on WebAssembly, as indicated by the CanLowerReturn target hook, SelectionDAGBuilder can translate it to return the value through a hidden sret-like argument. If such a function has an argument with the "returned" attribute, the attribute can't be automatically lowered, because the function no longer has a normal return value. For now, just discard the "returned" attribute. This fixes PR36128. llvm-svn: 323715
* [CUDA] Added partial support for CUDA-9.1Artem Belevich2018-01-308-32/+1872
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang can use CUDA-9.1 now, though new APIs (are not implemented yet. The major change is that headers in CUDA-9.1 went through substantial changes that started in CUDA-9.0 which required substantial changes in the cuda compatibility headers provided by clang. There are two major issues: * CUDA SDK no longer provides declarations for libdevice functions. * A lot of device-side functions have become nvcc's builtins and CUDA headers no longer contain their implementations. This patch changes the way CUDA headers are handled if we compile with CUDA 9.x. Both 9.0 and 9.1 are affected. * Clang provides its own declarations of libdevice functions. * For CUDA-9.x clang now provides implementation of device-side 'standard library' functions using libdevice. This patch should not affect compilation with CUDA-8. There may be some observable differences for CUDA-9.0, though they are not expected to affect functionality. Tested: CUDA test-suite tests for all supported combinations of: CUDA: 7.0,7.5,8.0,9.0,9.1 GPU: sm_20, sm_35, sm_60, sm_70 Differential Revision: https://reviews.llvm.org/D42513 llvm-svn: 323713
* [coroutines] Fix application of NRVO to Coroutine "Gro" or return object.Eric Fiselier2018-01-293-5/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fix NRVO for Gro variable. Previously, we only marked the GRO declaration as an NRVO variable when its QualType and the function return's QualType matched exactly (using operator==). However, this was incorrect for two reasons: 1. We were marking non-class types, such as ints, as being NRVO variables. 2. We failed to handle cases where the canonical types were the same, but the actual `QualType` objects were different. For example, if one was represented by a typedef. (Example: https://godbolt.org/g/3UFgsL) This patch fixes these bugs by marking the Gro variable as supporting NRVO only when `BuildReturnStmt` marks the Gro variable as a coroutine candidate. Reviewers: rsmith, GorNishanov, nicholas Reviewed By: GorNishanov Subscribers: majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D42343 llvm-svn: 323712
* [globalisel][legalizer] Fix a fallthrough case in the unittests debug printingDaniel Sanders2018-01-291-1/+1
| | | | llvm-svn: 323711
* [RAFast] Don't dereference MBB::endQuentin Colombet2018-01-292-5/+32
| | | | | | | | | | | | | | | | When RAFast sees liveins in on a basic block, it uses that information to initialize the availability of the registers. The called method uses an instruction as one of its argument and in the liveins case, RAFast was dereferencing MBB::begin which can be MBB::end for empty basic block. Change the API of definePhysReg to use MachineBasicBlock::iterator instead of MachineInstr so that we don't dereference an invalid iterator while making the call. rdar://problem/36952401 llvm-svn: 323710
* AMDGPU: Move ADDRIndirect complex pattern into R600Instructions.tdTom Stellard2018-01-292-1/+1
| | | | | | | | | | | | | | Summary: This is only used by R600. Reviewers: arsenm Reviewed By: arsenm Subscribers: kzhuravl, wdng, nhaehnle, mgorny, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D37114 llvm-svn: 323709
* [X86] Use VMOVDQA64 for aligned vXi32 stores.Craig Topper2018-01-292-4/+13
| | | | | | I meant to do this with the unaligned stores in r322820, but looks like I missed it. llvm-svn: 323708
* [test-suite] UNXfail several tests that now pass locally.Davide Italiano2018-01-292-5/+0
| | | | | | | Another step towards enabling unexpected successes as failures by default. llvm-svn: 323707
* AMDGPU: Allow a SGPR for the conditional KILL operandMarek Olsak2018-01-292-23/+48
| | | | | | | | | | | | | | | | | | Patch by: Bas Nieuwenhuizen Just use the _e64 variant if needed. This should be possible as per def : Pat < (int_amdgcn_kill (i1 (setcc f32:$src, InlineFPImm<f32>:$imm, cond:$cond))), (SI_KILL_F32_COND_IMM_PSEUDO $src, (bitcast_fpimm_to_i32 $imm), (cond_as_i32imm $cond)) > ; I don't think we can get an immediate for the other operand for which we need the second 32-bit word. https://reviews.llvm.org/D42302 llvm-svn: 323706
* Fix some regular expressions in llvm-mode.el.Rafael Espindola2018-01-291-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | In some cases it was using "\" unnecessarily. In another case it needed an additional "\" to properly indicate a numbered sub-match. Make comment-start buffer-local in llvm-mode.el llvm-mode was setting comment-start globally. However, it is better to only set it locally in the current buffer. Don't use purecopy in llvm-mode.el There's no reason to use purecopy in llvm-mode.el. purecopy is only needed for files that are dumped in emacs. Add a version header to llvm-mode.el Adding a version header to llvm-mode.el allows it to be installed by the Emacs package manager. There are not many requirements on the version number; however it is useful to users to bump it when something significant changes. Here I've chosen just to start at 1.0. Patch by Tom Tromey! llvm-svn: 323705
* [DSE] add test for PR36129; NFCSanjay Patel2018-01-291-0/+15
| | | | | | | We can miscompile because we're not checking is the memory might me modified between the seemingly redundant store ops. llvm-svn: 323704
* [clangd] Fix r323658 test failure on windows.Eric Liu2018-01-293-6/+11
| | | | llvm-svn: 323703
* LiveInterval: Print weight in print() function.Matthias Braun2018-01-291-0/+1
| | | | llvm-svn: 323702
* Stop tracking .debug_line_str in DWARFUnit. NFC.Paul Robinson2018-01-295-30/+22
| | | | llvm-svn: 323701
* [X86] Add FeaturePOPCNTFalseDeps to skylake server CPU to match skylake client.Craig Topper2018-01-292-1/+3
| | | | llvm-svn: 323700
* Warn on nonexistent comdat sections in an /order file.Rui Ueyama2018-01-292-5/+30
| | | | | | | | | | | | | I didn't implement the feature in the original patch because I didn't come up with an idea to do that easily and efficiently. Turned out that that is actually easy to implement. In this patch, we collect comdat sections before gc is run and warn on nonexistent symbols in an order file. Differential Revision: https://reviews.llvm.org/D42658 llvm-svn: 323699
* Update a help message.Rui Ueyama2018-01-291-1/+1
| | | | llvm-svn: 323698
* [analyzer] Use stable filenames in analyzer testing infrastructureGeorge Karpenkov2018-01-291-0/+1
| | | | | | | | Makes finding the right file in test results easier. Differential Revision: https://reviews.llvm.org/D42445 llvm-svn: 323697
* [analyzer] [NFC] Remove unused method visitItemsInWorkListGeorge Karpenkov2018-01-292-41/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D42562 llvm-svn: 323696
* [JumpThreading][NFC] Rename LoadInst variablesBrian M. Rzycki2018-01-291-43/+46
| | | | | | | | | | | | | | | | | | Summary: The JumpThreading pass has several locations where to the variable name LI refers to a LoadInst type. This is confusing and inhibits the ability to use LI for LoopInfo as a member of the JumpThreading class. Minor formatting and comments were also altered to reflect this change. Reviewers: dberlin, kuba, spop, sebpop Reviewed by: sebpop Subscribers: sebpop, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D42601 llvm-svn: 323695
* Minor updated to the main libcxx page; add a link to the deprecation pageMarshall Clow2018-01-291-6/+9
| | | | llvm-svn: 323694
* [X86] Emit 11-byte or 15-byte NOPs on recent AMD targets, else default to ↵Simon Pilgrim2018-01-2910-34/+91
| | | | | | | | | | | | 10-byte NOPs (PR22965) We currently emit up to 15-byte NOPs on all targets (apart from Silvermont), which stalls performance on some targets with decoders that struggle with 2 or 3 more '66' prefixes. This patch flags recent AMD targets (btver1/znver1) to still emit 15-byte NOPs and bdver* targets to emit 11-byte NOPs. All other targets now emit 10-byte NOPs apart from SilverMont CPUs which still emit 7-byte NOPS. Differential Revision: https://reviews.llvm.org/D42616 llvm-svn: 323693
* [ARM][GISel] PR35965 Constrain RegClasses of nested instructions built from ↵Daniel Sanders2018-01-295-6/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Dst Pattern Summary: Apparently, we missed on constraining register classes of VReg-operands of all the instructions built from a destination pattern but the root (top-level) one. The issue exposed itself while selecting G_FPTOSI for armv7: the corresponding pattern generates VTOSIZS wrapped into COPY_TO_REGCLASS, so top-level COPY_TO_REGCLASS gets properly constrained, while nested VTOSIZS (or rather its destination virtual register to be exact) does not. Fixing this by issuing GIR_ConstrainSelectedInstOperands for every nested GIR_BuildMI. https://bugs.llvm.org/show_bug.cgi?id=35965 rdar://problem/36886530 Patch by Roman Tereshin Reviewers: dsanders, qcolombet, rovka, bogner, aditya_nandakumar, volkan Reviewed By: dsanders, qcolombet, rovka Subscribers: aemerson, javed.absar, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D42565 llvm-svn: 323692
* [DWARFv5] Re-enable dumping a line table with no CU.Paul Robinson2018-01-299-40/+78
| | | | | | | | | | | r323476 added support for DW_FORM_line_strp, and incorrectly made that depend on having a DWARFUnit available. We shouldn't be tracking .debug_line_str in DWARFUnit after all. After this patch, I can do an NFC follow up and undo a bunch of the "plumbing" part of r323476. Differential Revision: https://reviews.llvm.org/D42609 llvm-svn: 323691
* [X86] Avoid using high register trick for test instructionAmaury Sechet2018-01-297-82/+29
| | | | | | | | | | | | | | | Summary: It seems it's main effect is to create addition copies when values are inr register that do not support this trick, which increase register pressure and makes the code bigger. The main noteworthy regression I was able to observe was pattern of the type (setcc (trunc (and X, C)), 0) where C is such as it would benefit from the hi register trick. To prevent this, a new pattern is added to materialize such pattern using a 32 bits test. This has the added benefit of working with any constant that is materializable as a 32bits immediate, not just the ones that can leverage the high register trick, as demonstrated by the test case in test-shrink.ll using the constant 2049 . Reviewers: craig.topper, niravd, spatel, hfinkel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42646 llvm-svn: 323690
OpenPOWER on IntegriCloud