summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] - Do not crash with --emit-relocs and --icf=all together.George Rimar2018-02-232-0/+35
| | | | | | | | | | Previously we would crash because did not mark .rel[a] sections as dead and they tried to access parent which was not live after ICF and therefore was null. Differential revision: https://reviews.llvm.org/D43241 llvm-svn: 325877
* [ELF] - Report error if removed empty output section declaration used ↵George Rimar2018-02-232-0/+22
| | | | | | | | | | | | | | undefined symbols. This is for fixing PR36297. Issue itself is that if we have SECTIONS { .bar (a+b) : { *(.stub) } }; script and no section .stub, when LLD will remove .bar, but produce output with undefined symbols a and b. Differential revision: https://reviews.llvm.org/D43069 llvm-svn: 325875
* [ELF] - Added testcase for testing visibility of weak_odr symbols.George Rimar2018-02-232-0/+46
| | | | | | | | | | | | This is relative to "Bug 36166 - tools/gold/X86/comdat.ll is failing only on Debian Unstable" (PR36166). Something changed in newer versions of gold and now together with gold-plugin there is an issue shown in PR, symbol may get wrong visibility. LLD works fine, but we have no testcase for the same use case, patch adds it. Differential revision: https://reviews.llvm.org/D43193 llvm-svn: 325874
* [ELF] - Add testcase documenting flags assigned when empty synthetic section ↵George Rimar2018-02-231-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is removed. This responds to PR36475, r325763 led to unexprected layout change, though new behavior seems to be more correct. Previously we could have following script: .foo : { *(.foo) } .bar : { *(.synthetic_empty) BYTE(0x11) }} where synthetic_empty is a synthetic section which is empty and hence removed by linker. Before r325763 .bar would receive section flags from .synthetic_empty, but after this revision it receives flags the same as .foo section has. It is the same as if there would not be any synthetic_empty section in a script, so looks reasonable and consistent behavior: .foo : { *(.foo) } .bar : { BYTE(0x11) }} Patch adds testcase to document it. Differential revision: https://reviews.llvm.org/D43632 llvm-svn: 325873
* [mips] Reland r310704Stefan Maksimovic2018-02-232-0/+46
| | | | | | | | Recommit this change which was previously reverted for the 5.0.0 release since the failures identified were dealt with in r325782. llvm-svn: 325872
* [Mips] Return true in enableMultipleCopyHints().Jonas Paulsson2018-02-238-479/+493
| | | | | | | | | | Enable multiple COPY hints to eliminate more COPYs during register allocation. Note that this is something all targets should do, see https://reviews.llvm.org/D38128. Review: Simon Dardis llvm-svn: 325870
* ReleaseNotes: user lower-case for lld in the textHans Wennborg2018-02-231-3/+3
| | | | llvm-svn: 325869
* [clangd] BindWithForward -> Bind. NFCSam McCall2018-02-234-23/+18
| | | | llvm-svn: 325868
* utils: Adapt to llvm r325155Jan Vesely2018-02-231-0/+4
| | | | | | | | | r325155 ("Pass a reference to a module to the bitcode writer.") changed bit writer interface from pointer to reference Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325867
* amdgcn: Fix build after GDS/const AS swap in r325030Jan Vesely2018-02-2317-14/+72
| | | | | | Acked-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325866
* amdgcn: Fix datalayout after addition of 32bit const AS in r324747Jan Vesely2018-02-234-4/+4
| | | | | | Acked-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325865
* r600: Fix datalayout after clang r324101Jan Vesely2018-02-2316-4/+109
| | | | | | | | r324101 switched around AS numbering Acked-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325864
* amdgcn: Fix datalayout after clang r324101Jan Vesely2018-02-2318-5/+153
| | | | | | | | r324101 switched around AS numbering Acked-by: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 325863
* Fix TestMultithreaded when there's no debugserver specifiedFrederic Riss2018-02-231-1/+1
| | | | | | | r325858 was bogus and would error out with a KeyError when --server was not passed to dotest.py. llvm-svn: 325862
* [WebAssembly] Add explicit symbol tableSam Clegg2018-02-2326-853/+1897
| | | | | | | | | | | | | | | | | | This change modified lld to in response the llvm change which moved to a more explicit symbol table in the object format. Based on patches by Nicholas Wilson: 1. https://reviews.llvm.org/D41955 2. https://reviews.llvm.org/D42585 The primary difference that we see in the test output is that for relocatable (-r) output we now have symbol table which replaces exports/imports and globals. See: https://github.com/WebAssembly/tool-conventions/issues/38 Differential Revision: https://reviews.llvm.org/D43264 llvm-svn: 325861
* [WebAssembly] Add first claass symbol table to wasm objectsSam Clegg2018-02-2343-897/+1032
| | | | | | | | | | | | | | | | | | | | This is combination of two patches by Nicholas Wilson: 1. https://reviews.llvm.org/D41954 2. https://reviews.llvm.org/D42495 Along with a few local modifications: - One change I made was to add the UNDEFINED bit to the binary format to avoid the extra byte used when writing data symbols. Although this bit is redundant for other symbols types (i.e. undefined can be implied if a function or global is a wasm import) - I prefer to be explicit and consistent and not have derived flags. - Some field renaming. - Some reverting of unrelated minor changes. - No test output differences. Differential Revision: https://reviews.llvm.org/D43147 llvm-svn: 325860
* Fix TestUbsanBasicFrederic Riss2018-02-231-1/+1
| | | | | | | | | | | | | | | Summary: Potentially due to the recent testuite refactorings, this test now reports a full absolute path but expect just the filename. For some reason this test is skipped on GreenDragon so we've never seen the issue. Reviewers: vsk Subscribers: kubamracek, lldb-commits Differential Revision: https://reviews.llvm.org/D43577 llvm-svn: 325859
* Fix TestMultithreaded when specifying an alternative debugserver.Frederic Riss2018-02-231-0/+2
| | | | | | | | | | | | | Summary: This test launches a helper that uses the debugserver. The environment variable sepcifying the debug server wasn't passed to this helper, thus it was using the default one. Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D43546 llvm-svn: 325858
* [WebAssembly] Move lambda declaration output of loop. NFC.Sam Clegg2018-02-231-22/+24
| | | | | | Differential Revision: https://reviews.llvm.org/D43534 llvm-svn: 325857
* remove FreeBSD xfail from lit TestCallStdStringFunctionEd Maste2018-02-231-3/+0
| | | | | | | | | | | | | This test is consistently reporting unexpected pass for me, and the expectedFailure decorator was removed from the legacy test in r310626. Apply the same change to the lit version of this test. Will investigate further if this fails once the new buildbot is running tests. llvm.org/pr17807 llvm-svn: 325856
* [ELF] Add comment for preemptible and fix typo. NFCFangrui Song2018-02-234-7/+8
| | | | | | | | Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D43642 llvm-svn: 325855
* Add a test to ensure we don't permit mutable access on temporaries outside ↵Richard Smith2018-02-231-2/+3
| | | | | | the evaluation in which they were created. llvm-svn: 325854
* Remove file missed by r325852 due to merge conflict.Richard Smith2018-02-231-1378/+0
| | | | llvm-svn: 325853
* Revert r325128 ("[X86] Reduce Store Forward Block issues in HW").Richard Smith2018-02-235-2511/+0
| | | | | | This is causing miscompiles in some situations. See the llvm-commits thread for the commit for details. llvm-svn: 325852
* [testsuite] Throw away test/debug_info/apple_types.Davide Italiano2018-02-233-104/+0
| | | | | | | | | | | | This test was only testing that clang produced the correct informations for __apple accelerated tables. So, it's a clang test. Also, it doesn't require any debugger intervention, the object file can be analyzed statically with a dumper. Also, the input program was highly verbose (unnecessarily). r325850 commits a clang test instead, so it's time to retire this. llvm-svn: 325851
* [Darwin] Add a test to check clang produces accelerator tables.Davide Italiano2018-02-231-0/+16
| | | | | | | | This test was previously in lldb, and was only checking that clang was emitting the correct section. So, it belongs here and not in the debugger. llvm-svn: 325850
* Make undefined symbol in DSO to pull out object files from archive files.Rui Ueyama2018-02-232-2/+26
| | | | | | | | | | | | | | | | | | | We have an internal program that does't link without this patch. I don't know of any open-source program that needs this, but there might be. Since this patch improves compatibility with GNU linkers with a few lines of code, I think it's worth to be committed. The problem is about undefined symbols in DSOs. Some programs depend on the GNU linkers' behavior that they pull out object files from archive files to resolve undefined symbols in DSOs. We already allow that kind of "reverse" dependency (from DSOs to the main executable) for regular symbols, in particular, for "__progname" symbol (which is usually in crt0.o), but that doesn't work if the symbol is in an archive file. This patch is to make it work. Differential Revision: https://reviews.llvm.org/D43658 llvm-svn: 325849
* [GISel]: Fix base case for m_any_of PatternMatcher.Aditya Nandakumar2018-02-232-1/+7
| | | | | | | | The base case for any_of was incorrectly returning true. Also add test case which uses m_any_of(preds...) where none of the predicates are true. llvm-svn: 325848
* Delete some unused #includes of CleanUp.h, NFCVedant Kumar2018-02-236-7/+0
| | | | llvm-svn: 325847
* Simplify setting dso_local. NFC.Rafael Espindola2018-02-233-12/+12
| | | | | | | | | | | The value of dso_local can be computed from just IR properties and global information (object file type, command line options, etc). With this patch we no longer pass in the Decl. It was almost unused and making it fully unused guarantees that dso_local is consistent with the rest of the IR. llvm-svn: 325846
* [X86] Turn setne X, signedmax into setgt signedmax, X in LowerVSETCC to ↵Craig Topper2018-02-232-3/+22
| | | | | | | | | | avoid an invert We won't be able to fold the constant pool load, but its still better than materialing ones and xoring for the invert if we used PCMPEQ. This will fix another regression from D42948. llvm-svn: 325845
* [AArch64] Refactor macro fusion (NFC)Evandro Menezes2018-02-231-151/+202
| | | | | | | | | Move checks for each fusion case into separate functions for better legibility and maintainability. Differential revision: https://reviews.llvm.org/D43649 llvm-svn: 325844
* [PDB] Check the result of setLoadAddress()Aaron Smith2018-02-236-7/+7
| | | | | | | | | | | | Summary: Change setLoadAddress() to return true or false on failure. Reviewers: zturner, llvm-commits Reviewed By: zturner Differential Revision: https://reviews.llvm.org/D43638 llvm-svn: 325843
* Fix grammar. NFC.Rafael Espindola2018-02-221-1/+1
| | | | | | Thank to Eric Christopher for noticing. llvm-svn: 325842
* [ObjC] Fix the NSConcreteData formatter and test itVedant Kumar2018-02-223-10/+28
| | | | | | | The length field of an NSConcreteData lives one word past the start of the object, not two. llvm-svn: 325841
* [X86] Turn setne X, signedmin into setgt X, signedmin in LowerVSETCC to ↵Craig Topper2018-02-222-0/+20
| | | | | | | | | | avoid an invert This will fix one of the regressions from D42948. Differential Revision: https://reviews.llvm.org/D43531 llvm-svn: 325840
* [AArch64] Improve macro fusion test caseEvandro Menezes2018-02-221-3/+5
| | | | | | | Improve a vector in the test case for the fusion of address generation and loads or stores. Otherwise, NFC. llvm-svn: 325839
* Fix llvm-pdbutil to handle new built-in typesAdrian McCarthy2018-02-222-1/+7
| | | | | | | | | | | | | | | | Summary: The built-in PDB types enum has been extended to include char16_t and char32_t. llvm-pdbutil was hitting an llvm_unreachable because it didn't know about these new values. The new values are not yet in the DIA documentation, but are listed in the cvconst.h header that comes as part of the DIA SDK. Reviewers: asmith, zturner, rnk Subscribers: stella.stamenova, llvm-commits, sanjoy Differential Revision: https://reviews.llvm.org/D43646 llvm-svn: 325838
* Update comment for whether or not we can optimize an alias - we'reEric Christopher2018-02-221-1/+1
| | | | | | | checking the alias and not the aliasee. If the alias can be interposed then we shouldn't do anything. llvm-svn: 325837
* Fix TestMoveNearest on WindowsAdrian McCarthy2018-02-221-3/+2
| | | | | | | | | | The header file for the DLL tried to declare inline functions and a local function as dllexport which broke the compile and link. Removing the bad declarations solves the problem, and the test passes on Windows now. Differential Revision: https://reviews.llvm.org/D43600 llvm-svn: 325836
* Fix TestSBData.py on WindowsAdrian McCarthy2018-02-221-1/+1
| | | | | | | | | Ensure that the test data is an array of bytes rather than a string that gets encoded differently between Python 2 and Python 3. Differential Revision: https://reviews.llvm.org/D43532 llvm-svn: 325835
* [Sema] Fix some Clang-tidy modernize and Include What You Use warnings; ↵Eugene Zelenko2018-02-227-255/+341
| | | | | | other minor fixes (NFC). llvm-svn: 325834
* Fix the build of the wasm backend.Benjamin Kramer2018-02-221-2/+2
| | | | | | | toString conflicts with llvm::toString here. Yay for overly generic function names. llvm-svn: 325833
* [InstrTypes] add frem and fneg with FMF creatorsSanjay Patel2018-02-221-0/+11
| | | | | | | | | The more popular opcodes were added at r325730, but we should have everything here for symmetry. I think both of these can be used in InstCombine already, but I'll make those changes as separate clean-ups for InstCombine. llvm-svn: 325832
* [DWARFv5] Turn an assert into a diagnostic. Hand-coded assembler filesPaul Robinson2018-02-229-48/+83
| | | | | | | | should not trigger assertions. Differential Revision: https://reviews.llvm.org/D43152 llvm-svn: 325831
* [ThinLTO/gold] Perform cache pruning when cache directory specifiedTeresa Johnson2018-02-222-3/+5
| | | | | | | | | | | | | | | Summary: As pointed out in the review for D37993, for consistency with other linkers, gold plugin should perform cache pruning whenever there is a cache directory specified, which will use the default cache policy. Reviewers: pcc Subscribers: llvm-commits, inglorion Differential Revision: https://reviews.llvm.org/D43389 llvm-svn: 325830
* [TargetLowering] Rename isCondCodeLegal to isCondCodeLegalOrCustom. Add real ↵Craig Topper2018-02-223-16/+20
| | | | | | | | | | | | | | | | isCondCodeLegal. Update callers to use one or the other. isCondCodeLegal internally checked Legal or Custom which is misleading. Though no targets set any cond code action to Custom today. So I've renamed isCondCodeLegal to isCondCodeLegalOrCustom and added a real isCondCodeLegal that only checks Legal. I've changed legalization code to use isCondCodeLegalOrCustom and left things reachable via DAG combine as isCondCodeLegal. I've also changed some places that called getCondCodeAction and compared to Legal to just use isCondCodeLegal. I'm looking at trying to keep SETCC all the way to isel for the AVX512 integer comparisons and I suspect I'll need to make some condition codes Custom to stop DAG combine from changing things post LegalizeOps. Prior to this only Expand stopped DAG combine, but that causes LegalizeOps to try to swap operands or invert rather than calling our Custom handler. Differential Revision: https://reviews.llvm.org/D43607 llvm-svn: 325829
* [PDB] Add missing override to silence buildbotsAaron Smith2018-02-221-1/+1
| | | | llvm-svn: 325828
* [X86] Make the subus special case in LowerVSETCC self containedCraig Topper2018-02-221-39/+49
| | | | | | | | | | Previously this code overrode the flags and opcode used by the later code in LowerVSETCC. This makes the code difficult to read and follow. This patch moves all the SUBUS code into its own function and makes it responsible for creating its own SDNodes on success. Differential Revision: https://reviews.llvm.org/D43530 llvm-svn: 325827
* [PDB] Fix buildbot failure from missing include for DIAEnumLineNumbersAaron Smith2018-02-221-0/+1
| | | | llvm-svn: 325826
OpenPOWER on IntegriCloud