- Aug 09, 2018
-
-
Stephen Kelly authored
Summary: The line cmake_minimum_required(VERSION 3.4.3) already has the effect of setting to NEW all policies present in that release: https://cmake.org/cmake/help/v3.4/manual/cmake-policies.7.html Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D50407 llvm-svn: 339376
-
Erik Pilkington authored
Differential revision: https://reviews.llvm.org/D50418 llvm-svn: 339375
-
Stephen Kelly authored
Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50348 llvm-svn: 339374
-
Stephen Kelly authored
Reviewers: teemperor! Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50347 llvm-svn: 339373
-
Stephen Kelly authored
Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50346 llvm-svn: 339372
-
Sid Manning authored
Differential Revision: https://reviews.llvm.org/D50520 llvm-svn: 339371
-
Kostya Kortchinsky authored
Summary: When compiling with WERROR=ON, a new fatal warning started popping up recently (due to -Werror,-Winline-asm): ``` .../lib/sanitizer_common/sanitizer_linux.cc:1214:24: error: inline asm clobber list contains reserved registers: RSP [-Werror,-Winline-asm] "syscall\n" ^ <inline asm>:1:1: note: instantiated into assembly here syscall ^ .../lib/sanitizer_common/sanitizer_linux.cc:1214:24: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour. "syscall\n" ^ <inline asm>:1:1: note: instantiated into assembly here syscall ^ ``` Removing `rsp` from the clobber list makes the warning go away, and does not appear to have a functional impact. If there is another way to solve this, let me know. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: kubamracek, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D50519 llvm-svn: 339370
-
George Karpenkov authored
Differential Revision: https://reviews.llvm.org/D50523 llvm-svn: 339369
-
Sanjay Patel authored
llvm-svn: 339368
-
David Carlier authored
Reviewers: dblaikie, dexonsmith Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D50296 llvm-svn: 339367
-
JF Bastien authored
Use an enum class instead. llvm-svn: 339366
-
Krzysztof Parzyszek authored
llvm-svn: 339365
-
Rui Ueyama authored
Patch by PkmX. This patch makes lld recognize RISC-V target and implements basic relocation for RV32/RV64 (and RVC). This should be necessary for static linking ELF applications. The ABI documentation for RISC-V can be found at: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md. Note that the documentation is far from complete so we had to figure out some details from bfd. The patch should be pretty straightforward. Some highlights: - A new relocation Expr R_RISCV_PC_INDIRECT is added. This is needed as the low part of a PC-relative relocation is linked to the corresponding high part (auipc), see: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md#pc-relative-symbol-addresses - LLVM's MC support for RISC-V is very incomplete (we are working on this), so tests are given in objectyaml format with the original assembly included in the comments. Once we have complete support for RISC-V in MC, we can switch to llvm-as/llvm-objdump. - We don't support linker relaxation for now as it requires greater changes to lld that is beyond the scope of this patch. Once this is accepted we can start to work on adding relaxation to lld. Differential Revision: https://reviews.llvm.org/D39322 llvm-svn: 339364
-
Alina Sbirlea authored
Summary: LoopSimplifyCFG should update ScEv for all loops after a block is deleted. If the deleted block "Succ" is part of L, then it is part of all parent loops, so forget topmost loop. Reviewers: greened, mkazantsev, sanjoy Subscribers: jlebar, javed.absar, uabelho, llvm-commits Differential Revision: https://reviews.llvm.org/D50422 llvm-svn: 339363
-
Paul Semel authored
Differential Revision: https://reviews.llvm.org/D50381 llvm-svn: 339362
-
Sanjay Patel authored
llvm-svn: 339361
-
Reid Kleckner authored
The inalloca parameter has to be the only parameter passed in memory. Changing the convention to fastcc can break that. At some point we should teach global opt how to optimize ABI attributes like inalloca and maybe byval. These attributes are mainly used to match C ABIs. They are harder for LLVM to optimize and they don't always generate the best code. Fixes PR38487 llvm-svn: 339360
-
Sanjay Patel authored
Similar to rL337966 - if the DAGCombiner's rotate matching was working as expected, I don't think we'd see any test diffs here. AArch only goes right, and PPC only goes left. x86 has both, so no diffs there. Differential Revision: https://reviews.llvm.org/D50091 llvm-svn: 339359
-
Paul Semel authored
Differential Revision: https://reviews.llvm.org/D49979 llvm-svn: 339358
-
Michael Berg authored
Summary: This change provides a common optimization path for both Unsafe and FMF driven optimization for this fsub fold adding reassociation, as it the flag that most closely represents the translation Reviewers: spatel, wristow, arsenm Reviewed By: spatel Subscribers: wdng Differential Revision: https://reviews.llvm.org/D50195 llvm-svn: 339357
-
Evandro Menezes authored
Enable `FeatureZCZeroing`, `FeatureHasSlowFPVMLx`, `FeatureExpandMLx`, `FeatureProfUnpredicate`, `FeatureSlowVDUP32`, `FeatureSlowVGETLNi32`, `FeatureSplatVFPToNeon`, `FeatureHasRetAddrStack`, `FeatureSlowFPBrcc` for all Exynos processors. llvm-svn: 339356
-
Evandro Menezes authored
Add new feature, `FeatureUseWideStrideVFP`, that replaces the need for a processor check. Otherwise, NFC. llvm-svn: 339354
-
Raphael Isemann authored
llvm-svn: 339353
-
Andrea Di Biagio authored
This patch introduces tablegen class MCStatement. Currently, an MCStatement can be either a return statement, or a switch statement. ``` MCStatement: MCReturnStatement MCOpcodeSwitchStatement ``` A MCReturnStatement expands to a return statement, and the boolean expression associated with the return statement is described by a MCInstPredicate. An MCOpcodeSwitchStatement is a switch statement where the condition is a check on the machine opcode. It allows the definition of multiple checks, as well as a default case. More details on the grammar implemented by these two new constructs can be found in the diff for TargetInstrPredicates.td. This patch makes it easier to read the body of auto-generated TargetInstrInfo predicates. In future, I plan to reuse/extend the MCStatement grammar to describe more complex target hooks. For now, this is just a first step (mostly a minor cosmetic change to polish the new predicates framework). Differential Revision: https://reviews.llvm.org/D50457 llvm-svn: 339352
-
Raphael Isemann authored
Summary: Instead of just printing the current "False is not True, ..." message when we fail to run a certain command, this patch also adds the actual command output or error output that we received to the assertion message. Reviewers: davide Reviewed By: davide Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D50492 llvm-svn: 339351
-
Bjorn Pettersson authored
Summary: The interface to get size and spill size of a register was moved from MCRegisterInfo to TargetRegisterInfo over a year ago. Afaik the old interface has bee around to give out-of-tree targets a chance to adapt to the new interface. One problem with the old MCRegisterClass::PhysRegSize was that it represented the size of a register as "size in bits" / 8. So a register had to be a multiple of eight bits wide for the size to be correct (and the byte size for the target needed to be eight bits). Reviewers: kparzysz, qcolombet Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47199 llvm-svn: 339350
-
Sanjay Patel authored
llvm-svn: 339349
-
George Rimar authored
It covers the following line with a test: https://github.com/llvm-mirror/lld/blob/master/ELF/OutputSections.cpp#L383 llvm-svn: 339348
-
Sjoerd Meijer authored
Differential Revision: https://reviews.llvm.org/D50175 llvm-svn: 339347
-
Simon Pilgrim authored
As requested in D50392, pull the magic constant calculations out into a helper function. llvm-svn: 339346
-
Hans Wennborg authored
link.exe ignores REL32 relocations on 32-bit x86, as well as relocations against non-function symbols such as labels. This makes lld do the same. Differential Revision: https://reviews.llvm.org/D50430 llvm-svn: 339345
-
Erich Keane authored
As a part of attempting to clean up the way attributes are printed, this patch adds an operator << to the diagnostics/ partialdiagnostics so that ParsedAttr can be sent directly. This patch also rewrites a large amount* of the times when ParsedAttr was printed using its IdentifierInfo object instead of being printed itself. *"a large amount" == "All I could find". llvm-svn: 339344
-
Tim Northover authored
This test relies on communicating with debugserver via an unnamed (pre-opened) pipe, but macOS's version of debugserver doesn't seem to support that mode of operation. So disable the test for now. llvm-svn: 339343
-
George Rimar authored
This adds a test for https://github.com/llvm-mirror/lld/blob/master/ELF/ScriptParser.cpp#L1289. llvm-svn: 339342
-
Sjoerd Meijer authored
Differential Revision: https://reviews.llvm.org/D50454 llvm-svn: 339340
-
Simon Pilgrim authored
Exposed by D50328 Differential Revision: https://reviews.llvm.org/D50328 llvm-svn: 339337
-
Gabor Marton authored
Summary: Currently we consider one forward declared RecordDecl and another with a definition equal. We have to do the same in case of enums. Reviewers: a_sidorin, r.stahl, xazax.hun Subscribers: rnkovacs, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D50444 llvm-svn: 339336
-
Simon Pilgrim authored
As discussed on D41794, we have many cases where we fail to combine shuffles as the input operands have other uses. This patch permits these shuffles to be combined as long as they don't introduce additional variable shuffle masks, which should reduce instruction dependencies and allow the total number of shuffles to still drop without increasing the constant pool. However, this may mean that some memory folds may no longer occur, and on pre-AVX require the occasional extra register move. This also exposes some poor PMULDQ/PMULUDQ codegen which was doing unnecessary upper/lower calculations which will in fact fold to zero/undef - the fix will be added in a followup commit. Differential Revision: https://reviews.llvm.org/D50328 llvm-svn: 339335
-
Gabor Marton authored
Reviewers: a_sidorin, r.stahl, xazax.hun Subscribers: rnkovacs, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D50428 llvm-svn: 339334
-
George Rimar authored
This covers the following line: https://github.com/llvm-mirror/lld/blob/master/ELF/ScriptParser.cpp#L415 llvm-svn: 339333
-