summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [llvm-pdbutil] Add missing pdb for testAaron Smith2018-10-111-0/+0
| | | | llvm-svn: 344306
* Remove SymbolTable::addAbsolute().Rui Ueyama2018-10-113-14/+8
| | | | | | addAbsolute() could be implemented as a non-member function. llvm-svn: 344305
* [SampleFDO][NFC] Remove debugging log left over in the code.Wei Mi2018-10-111-2/+0
| | | | llvm-svn: 344304
* [x86] add tests for extract_element; NFCSanjay Patel2018-10-111-0/+44
| | | | | | The transform for this pattern has an unnecessary one-use limitation. llvm-svn: 344303
* Remove `else` after `return`.Rui Ueyama2018-10-111-2/+1
| | | | llvm-svn: 344302
* [x86] regenerate CHECKs; NFCSanjay Patel2018-10-111-7/+3
| | | | llvm-svn: 344301
* [ELF] Fix link failure with Android compressed relocation support.Eli Friedman2018-10-112-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android uses a compressed relocation format, which means the size of the relocation section isn't predictable based on the number of relocations, and can vary if the layout changes in any way. To deal with this, the linker normally runs multiple passes until the layout converges. The layout should converge if the size of the compressed relocation section increases monotonically: if the size of an encoded offset increases by one byte, the larget value which can be encoded is multiplied by 128, so the representable offsets grow much faster than the size of the section itself. The problem here is that there is no code to ensure the size of the section doesn't decrease. If the size of the relocation section decreases, the relative offsets can increase due to alignment restrictions, so that can force the size of the relocation section to increase again. The end result is an infinite loop; the loop gets cut off after 10 iterations with the message "thunk creation not converged". To avoid this issue, this patch adds padding to the end of the relocation section if its size would decrease. The extra padding is harmless because of the way the format is defined: decoding stops after it reaches the number of relocations specified in the section's header. Differential Revision: https://reviews.llvm.org/D53003 llvm-svn: 344300
* [Documentation] Rephrase modernize-deprecated-ios-base-aliases description. ↵Eugene Zelenko2018-10-112-5/+15
| | | | | | Add clangd and clang-doc placeholders in Release Notes. llvm-svn: 344299
* [llvm-pdbutil] Pretty print PDBSymbolUsingNamespace symbolsAaron Smith2018-10-115-0/+29
| | | | | | | | Reviewers: rnk, zturner, llvm-commits Differential Revision: https://reviews.llvm.org/D52799 llvm-svn: 344298
* Revert "[Driver] Default Android toolchains to libc++."Dan Albert2018-10-113-62/+65
| | | | | | | | | Breaks some of the Android bots because they aren't expecting to need to explicitly set -stdlib. This reverts commit 031072f5048654b01a40f639633de1ff4e2f3dc8. llvm-svn: 344297
* [Driver] Default Android toolchains to libc++.Dan Albert2018-10-113-65/+62
| | | | | | | | | | | | Reviewers: srhines, pirama, EricWF Reviewed By: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53109 llvm-svn: 344296
* [Driver] Default to `-z now` and `-z relro` on Android.Dan Albert2018-10-112-2/+5
| | | | | | | | | | | | | | | | | | Summary: RTLD_LAZY is not supported on Android (though failing to use `-z now` will work since it is assumed by the loader). RelRO is required. Reviewers: srhines, pirama Reviewed By: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53117 llvm-svn: 344295
* Rename SymbolTable::addRegular -> SymbolTable::addDefined.Rui Ueyama2018-10-114-9/+9
| | | | | | | We have addAbsolute, addBitcode, addCommon, etc. addRegular looked a bit inconsistent. llvm-svn: 344294
* [Driver] Fix --hash-style choice for Android.Dan Albert2018-10-112-5/+22
| | | | | | | | | | | | | | | | | Summary: Android supports GNU style hashes as of Marshmallow, so we should be generating both styles for pre-M targets and GNU hashes for newer targets. Reviewers: srhines, pirama Reviewed By: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53118 llvm-svn: 344293
* Remove unused default arguments.Rui Ueyama2018-10-111-3/+1
| | | | llvm-svn: 344292
* [X86] Type legalize v2f32 loads by using an f64 load and a scalar_to_vector.Craig Topper2018-10-118-39/+61
| | | | | | | | | | | | On 64-bit targets the generic legalize will use an i64 load and a scalar_to_vector for us. But on 32-bit targets i64 isn't legal and the generic legalizer will end up emitting two 32-bit loads. We have DAG combines that try to put those two loads back together with pretty good success. This patch instead uses f64 to avoid the splitting entirely. I've made it do the same for 64-bit mode for consistency and to keep the load in the fp domain. There are a few things in here that look like regressions in 32-bit mode, but I believe they bring us closer to the 64-bit mode codegen. And that the 64-bit mode code could be better. I think those issues should be looked at separately. Differential Revision: https://reviews.llvm.org/D52528 llvm-svn: 344291
* Remove SymbolTable::addUndefined<ELF32LE>(StringRef).Rui Ueyama2018-10-113-16/+10
| | | | | | Because we can implement the function as a non-member function. llvm-svn: 344290
* [hwasan] relax a testKostya Serebryany2018-10-111-3/+3
| | | | llvm-svn: 344289
* [python] [tests] Fix calling tests on WindowsMichal Gorny2018-10-111-1/+3
| | | | | | | | | Fix passing arguments to the Python test command to use 'env' builtin CMake command, in order to fix compatibility with Windows. Differential Revision: https://reviews.llvm.org/D53151 llvm-svn: 344288
* [WebAssembly][NFC] Remove repetition of Defs = [ARGUMENTS] (fixed)Thomas Lively2018-10-1111-95/+5
| | | | llvm-svn: 344287
* Update test of r344198 to work with release builds.Warren Ristow2018-10-111-2/+2
| | | | llvm-svn: 344286
* [HIP] Remove unused irif bitcode from testAaron Enye Shi2018-10-111-0/+0
| | | | | | | | | | This is part of previous commit [HIP] Replace irif library with hip.amdgcn.bc Reviewers: yaxunl Differential Revision: https://reviews.llvm.org/D52673 llvm-svn: 344285
* [Hexagon] Restrict compound instructions with constant value.Sumanth Gundapaneni2018-10-112-10/+79
| | | | | | | | | | Having a constant value operand in the compound instruction is not always profitable. This patch improves coremark by ~4% on Hexagon. Differential Revision: https://reviews.llvm.org/D53152 llvm-svn: 344284
* [Pipeliner] Use the Index from Topo instead of relying on NodeNum. (NFC)Sumanth Gundapaneni2018-10-111-4/+14
| | | | | | | | | | In future, if we may add any new DAG mutations other than artificial dependencies, the NodeNum may not be valid. Instead the index from topological schedule DAG can be used as long as we update it with the DAG change. Differential Revision: https://reviews.llvm.org/D53104 llvm-svn: 344283
* [Pipeliner] Fix the Schedule DAG topoligical order.Sumanth Gundapaneni2018-10-111-0/+1
| | | | | | | | | This patch updates the DAG change to reflect in the topological ordering of the nodes. Differential Revision: https://reviews.llvm.org/D53105 llvm-svn: 344282
* [HIP] Replace irif library with hip.amdgcn.bcAaron Enye Shi2018-10-113-3/+4
| | | | | | No longer use irif amdgcn library, instead we will use the previous fence functions from new hip.amdgcn.bc bitcode library. Update hip-device-libs.hip test as well. llvm-svn: 344281
* [WebAssembly] Revert rL344180, which was breaking expensive checksThomas Lively2018-10-1111-3/+94
| | | | llvm-svn: 344280
* Revert SymbolFileNativePDB plugin.Zachary Turner2018-10-1124-2227/+25
| | | | | | | | | This was originally causing some test failures on non-Windows platforms, which required fixes in the compiler and linker. After those fixes, however, other tests started failing. Reverting temporarily until I can address everything. llvm-svn: 344279
* Revert r344197 "[MC][ELF] compute entity size for explicit sections"Artem Dergachev2018-10-112-28/+25
| | | | | | | | | Revert r344206 "[MC][ELF] Fix section_mergeable_size.ll" They were causing failures on too many important buildbots for too long. Please revert eagerly if your fix takes more than a couple of hours to land! llvm-svn: 344278
* Fix this comment so it is consistent with all the others.Jason Molenda2018-10-111-1/+1
| | | | llvm-svn: 344277
* Revert "clang-cl: Add /showFilenames option (PR31957)"Sean Fertile2018-10-115-42/+0
| | | | | | | This reverts https://reviews.llvm.org/rL344234 which is causing failures on several bots due to invalid llvm.linker.options. llvm-svn: 344276
* Don't mark an LC_BUILD_VERSION as giving us a Jason Molenda2018-10-111-1/+1
| | | | | | correct version if it has a major verison 0. llvm-svn: 344275
* [PassManager/Sanitizer] Port of AddresSanitizer pass from legacy to new ↵Leonard Chan2018-10-117-68/+166
| | | | | | | | | | | | | | | | PassManager This patch ports the legacy pass manager to the new one to take advantage of the benefits of the new PM. This involved moving a lot of the declarations for `AddressSantizer` to a header so that it can be publicly used via PassRegistry.def which I believe contains all the passes managed by the new PM. This patch essentially decouples the instrumentation from the legacy PM such hat it can be used by both legacy and new PM infrastructure. Differential Revision: https://reviews.llvm.org/D52739 llvm-svn: 344274
* [OPENMP][NVPTX]Reduce memory use for globalized vars inAlexey Bataev2018-10-112-12/+17
| | | | | | | | | | | target/teams/distribute regions. Previously introduced globalization scheme that uses memory coalescing scheme may increase memory usage fr the variables that are devlared in target/teams/distribute contexts. We don't need 32 copies of such variables, just 1. Patch reduces memory use in this case. llvm-svn: 344273
* [DAG] Fix Big Endian in Load-Store forwardingNirav Dave2018-10-113-23/+68
| | | | | | | | | | | | | | Summary: Correct offset calculation in load-store forwarding for big-endian targets. Reviewers: rnk, RKSimon, waltl Subscribers: sdardis, nemanjai, hiraditya, jrtc27, atanasyan, jsji, llvm-commits Differential Revision: https://reviews.llvm.org/D53147 llvm-svn: 344272
* [Hexagon] Eliminate potential sources of non-determinism in HCEKrzysztof Parzyszek2018-10-111-9/+33
| | | | | | | | | Also, avoid comparing GUIDs when ordering global addresses, because source file location can cause different GUID to be calculated. As a result, a pair of symbols can compare "less" in one directory, but "greater" in another. llvm-svn: 344271
* [X86] Restore X86ISelDAGToDAG::matchBEXTRFromAnd. Teach address matching to ↵Craig Topper2018-10-115-98/+218
| | | | | | | | | | | | | | | | create a BEXTR pattern from a (shl (and X, mask >> C1) if C1 can be folded into addressing mode. This is an alternative to D53080 since I think using a BEXTR for a shifted mask is definitely an improvement when the shl can be absorbed into addressing mode. The other cases I'm less sure about. We already have several tricks for handling an and of a shift in address matching. This adds a new case for BEXTR. I've moved the BEXTR matching code back to X86ISelDAGToDAG to allow it to match. I suppose alternatively we could directly emit a X86ISD::BEXTR node that isel could pattern match. But I'm trying to view BEXTR matching as an isel concern so DAG combine can see 'and' and 'shift' operations that are well understood. We did lose a couple cases from tbm_patterns.ll, but I think there are ways to recover that. I've also put back the manual load folding code in matchBEXTRFromAnd that I removed a few months ago in r324939. This gives us some more freedom to make decisions based on the ability to fold a load. I haven't done anything with that yet. Differential Revision: https://reviews.llvm.org/D53126 llvm-svn: 344270
* Better support for POSIX paths in PDBs.Zachary Turner2018-10-115-26/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | While it doesn't make a *ton* of sense for POSIX paths to be in PDBs, it's possible to occur in real scenarios involving cross compilation. The tools need to be able to handle this, because certain types of debugging scenarios are possible without a running process and so don't necessarily require you to be on a Windows system. These include post-mortem debugging and binary forensics (e.g. using a debugger to disassemble functions and examine symbols without running the process). There's changes in clang, LLD, and lldb in this patch. After this the cross-platform disassembly and source-list tests pass on Linux. Furthermore, the behavior of LLD can now be summarized by a much simpler rule than before: Unless you specify /pdbsourcepath and /pdbaltpath, the PDB ends up with paths that are valid within the context of the machine that the link is performed on. Differential Revision: https://reviews.llvm.org/D53149 llvm-svn: 344269
* [llvm-nm] Fix crash when running with --print-armap on corrupt archives.Jordan Rupprecht2018-10-111-2/+4
| | | | | | | | error() in llvm-nm intentionally does not return so that the callee can move on to future files/slices. When printing the archive map, this is not currently handled (the caller assumes that error() returns), so processing continues despite there being an error. Also, change one return to a break, so that symbols can be printed even if the archive map is corrupt. llvm-svn: 344268
* Revert "[Lex] TokenConcatenation now takes const Preprocessor"Eric Liu2018-10-111-3/+3
| | | | | | This reverts commit r344262. This was an unintentional commit. llvm-svn: 344267
* clang-cl: set output of lit-test to a tmp file after r344234Eric Liu2018-10-111-4/+4
| | | | | | Some test frameworks do not allow output file in CWD. llvm-svn: 344266
* [COFF] Add and use a Wordsize field in Config. NFCI.Martin Storsjo2018-10-116-19/+18
| | | | | | Differential Revision: https://reviews.llvm.org/D53143 llvm-svn: 344265
* [COFF] Set proper pointer size alignment for LocalImportChunkMartin Storsjo2018-10-112-1/+27
| | | | | | | | | | | When these are accessed with load/store instructions on ARM64, it becomes strictly necessary to have them properly aligned. This fixes PR39228. Differential Revision: https://reviews.llvm.org/D53128 llvm-svn: 344264
* [python] [tests] Retab CMakeLists.txt for consistency (NFC)Michal Gorny2018-10-111-3/+3
| | | | llvm-svn: 344263
* [Lex] TokenConcatenation now takes const PreprocessorEric Liu2018-10-111-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D52502 llvm-svn: 344262
* Revert commit r344254; does not work with C++03Marshall Clow2018-10-111-39/+14
| | | | llvm-svn: 344261
* [tests] Remove Python tests from check-all due to breakageMichal Gorny2018-10-111-1/+1
| | | | | | | | | Remove the Python tests from default target in order to fix two kinds of breakage uncovered by enabling them: one failing test on Linux, and problem with the test command on Windows. Both to be addressed in followup revisions. llvm-svn: 344260
* Improve -Wshadow warnings with enumerators.Aaron Ballman2018-10-113-2/+17
| | | | | | | | | | | Addresses PR24718 by checking for enumerators that shadow other enumerators. Catches issues like: enum E1{e1}; void f(void) { enum E2{e1}; } llvm-svn: 344259
* [tests] Include Python binding tests in CMake rulesMichal Gorny2018-10-112-1/+12
| | | | | | | | | Add a new CMake rule check-clang-python to run the Python bindings' test suite, and include it in check-all. Differential Revision: https://reviews.llvm.org/D52840 llvm-svn: 344258
* Some improvements to the OpenBSD driver.Brad Smith2018-10-114-43/+66
| | | | | | | | - OpenBSD has switched to compiler_rt / libcxx - Fix sysroot and lib path handling - Some cleaning up llvm-svn: 344257
OpenPOWER on IntegriCloud