- Jul 28, 2020
-
-
Jez Ng authored
The previous approach of adding up the file sizes of the component sections ignored the fact that the sections did not have to be contiguous in the file. As such, it was underestimating the true size. I discovered this issue because `codesign` checks whether `__LINKEDIT` extends to the end of the file. Since we were underestimating segment sizes, this check failed. Reviewed By: #lld-macho, compnerd Differential Revision: https://reviews.llvm.org/D84574
-
Jez Ng authored
XCode passes files in using this flag Reviewed By: #lld-macho, compnerd Differential Revision: https://reviews.llvm.org/D84486
-
Vince Bridgers authored
We found a case where Typedef Name Declarations were not being added correctly when importing builtin types. This exposed the need for a TypedefNameDecl visitor so these types can be added by RecordDecl and fields. This code is covered by the ASTImporterTest cases that use the implicit struct __NSConstantString_tag definitions. Thanks to @martong for the debugging assist! Depends on D83970. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D83992
-
Julian Lettner authored
Checking the OS version via `GetMacosAlignedVersion()` now works in simulators [1]. Let's use it to simplify `DyldNeedsEnvVariable()`. [1] 3fb0de82 Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D81197
-
Christy Lee authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D84569
-
Anna Welker authored
A patch following up on the introduction of pointer induction variables, adding a preprocessing step to the address optimisation in the MVEGatherScatterLowering pass. If the getelementpointer that is the address is itself using a getelementpointer as base, they will be merged into one by summing up the offsets, after checking that this will not cause an overflow (this can be repeated recursively). Differential Revision: https://reviews.llvm.org/D84027
-
Julian Lettner authored
compiler-rt checks OS versions by querying the Darwin kernel version. This is not necessarily correct inside the simulators if the simulator runtime is not aligned with the host macOS. Let's instead check the `SIMULATOR_RUNTIME_VERSION` env var. rdar://63031937 Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D83977
-
Arthur Eubanks authored
In a build with -DLLVM_ENABLE_LTO=Thin: $ ninja TSanitizer-x86_64-Test-Nolibc [1/1] Generating Sanitizer-x86_64-Test-Nolibc FAILED: projects/compiler-rt/lib/sanitizer_common/tests/Sanitizer-x86_64-Test-Nolibc sanitizer_nolibc_test_main.x86_64.o: file not recognized: file format not recognized because -flto=thin is getting passed to the clang_compile step. For non-standalone builds, global compilation flags shouldn't be passed to compiler-rt tests, only the flags the test specifies. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D84466
-
Wei Wang authored
scoped-noalias -> scoped-noalias-aa reference: https://reviews.llvm.org/D84542 Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D84720
-
Arthur Eubanks authored
Since the NPM pass is named sancov-module, not sancov. This makes all tests under Instrumentation/SanitizerCoverage pass when -enable-new-pm is on by default. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D84687
-
Arthur Eubanks authored
To match NewPM pass name, and also for readability. Also rename rpo-functionattrs -> rpo-function-attrs while we're here. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D84694
-
-
Matt Arsenault authored
I think these were added as a workaround for SelectionDAG lacking half legalization support in the past. I think they should probably be removed from the IR, but clang does still have a target control to emit these instead of the native half fpext/fptrunc.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Frederik Gossen authored
Differential Revision: https://reviews.llvm.org/D82848
-
Matt Arsenault authored
We also have never handled this for SelectionDAG, which needs additional work.
-
Florian Hahn authored
Increase test coverage for upcoming changes to how SCEV deals with LCSSA phis.
-
Camille Coti authored
When the f18 frontend calls the link editor, put the libraries and object files in the correct order. Fixes the issues reported here https://github.com/flang-compiler/flang/issues/897 Reviewed By: sscalpone, AlexisPerry Differential Revision: https://reviews.llvm.org/D84340
-
Xing GUO authored
This patch renames checkListEntryOperands() to checkOperandCount(), so that we are able to check DWARF expression operands using the same function. Reviewed By: jhenderson, labath Differential Revision: https://reviews.llvm.org/D84624
-
Sander de Smalen authored
While deallocating the stackframe, the offset used to reload the callee-saved registers was not pointing to the SVE callee-saves, but rather to the whole SVE area. +--------------+ | GRP callee | | saves | +--------------+ <- FP | SVE callee | | saves | +--------------+ <- Should restore SVE callee saves from here | SVE Spills | | and Locals | +--------------+ <- instead of from here. | | : : | | +--------------+ <- SP Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D84539
-
Sander de Smalen authored
Instead of aligning the last callee-saved-register slot to the stack alignment (16 bytes), just align the SVE callee-saved block. This also simplifies the code that allocates space for the callee-saves. This change is needed to make sure the offset to which the callee-saved register is spilled, corresponds to the offset used for e.g. unwind call frame instructions. Reviewers: efriedma, paulwalker-arm, david-arm, rengolin Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D84042
-
Sander de Smalen authored
Fixed stack objects are preallocated and defined to be allocated before any of the regular stack objects. These are normally used to model stack arguments. The AAPCS does not support passing SVE registers on the stack by value (only by reference). The current layout also doesn't place them before all stack objects, but rather before all SVE objects. Removing this simplifies the code that emits the allocation/deallocation around callee-saved registers (D84042). This patch also removes all uses of fixedStack from from framelayout-sve.mir, where this was used purely for testing purposes. Reviewers: paulwalker-arm, efriedma, rengolin Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D84538
-
Bruno Ricci authored
As explained in eb10b065, sending a NamedDecl* in a diagnostic should generally be preferred over sending the DeclarationName from getDeclName(). Let's document that.
-
Bruno Ricci authored
-
Christian Sigg authored
Do not return error code, instead return created resource handles or void. Error reporting is done by the library function. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D84660
-
Xing GUO authored
This patch adds support for emitting custom range list content. We are able to handcraft a custom range list via the following syntax. ``` debug_rnglists: - Lists: - Entries: - Operator: DW_RLE_startx_endx Values: [ 0x1234, 0x1234 ] - Content: '1234567890abcdef' - Content: 'abcdef1234567890' ``` Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D84618
-
Jinsong Ji authored
This reverts commit bf544fa1. Fixed the typo in PPCInstrInfo.cpp.
-
Nathan James authored
-
Georgii Rymar authored
This adds the `ShType` key similar to others `Sh*` keys we have. My use case is the following. Imagine we have a `SHT_SYMTAB_SHNDX` section and want to hide it from a dumper. The natural way would be to do something like: ``` - Name: .symtab_shndx Type: [[TYPE=SHT_SYMTAB_SHNDX]] Entries: [ 0, 1 ] ``` and then change the TYPE from `SHT_SYMTAB_SHNDX` to something else, for example to `SHT_PROGBITS`. But we have a problem: regular sections does not have `Entries` key, so yaml2obj will be unable to produce a section. The solution is to introduce a `ShType` key to override the final type. This is not the first time I am facing the need to change the type. I was able to invent workarounds or solved issues differently in the past, but finally came to conclusion that we just should support the `ShType`. Differential revision: https://reviews.llvm.org/D84738
-
Joel E. Denny authored
On runtime failures, D83963 causes the runtime to abort instead of merely exiting with a non-zero value, but many tests in the libomptarget test suite still expect the former behavior. This patch updates the test suite and was discussed in post-commit comments on D83963 and D84557.
-
Evgeniy Brevnov authored
There is a silly mistake where release() is used instead of reset() for free resources of unique pointer. Reviewed By: ebrevnov Differential Revision: https://reviews.llvm.org/D84747
-
Tim Northover authored
Many Thumb1 instructions are defined to set CPSR if executed outside an IT block, but leave it alone from inside one. In MachineIR this is represented by whether an optional register is CPSR or NoReg (0), and affects how the instructions are printed. This sets the instruction to the appropriate form during if-conversion.
-
Stephan Herhut authored
The current transformation to shape.reduce does not support tensor values. This adds the required changes to make that work, including fixing the builder for shape.reduce. Differential Revision: https://reviews.llvm.org/D84744
-
Anirudh Prasad authored
This patch refactors the llvm tools namely, llvm-stress and sancov, as well as the llvm TableGen utility, to use the new InitLLVM interface which encapsulates PrettyStackTrace. This is from https://reviews.llvm.org/D70702, but only for LLVM. Reviewed-by: Kai Differential Revision: https://reviews.llvm.org/D83484
-
Luofan Chen authored
The print() function in the `AbstractAttribute` structure overrides the function in the `AADepGraphNode`, so we need to mark it as override. This should fix a buildbot failure introduced by 5ee07dc5.
-
Rainer Orth authored
Neither the Illumos `ld` nor the Solaris 11.3 one support the `--version-script` and `z gnu-linker-script-compat` options, which breaks the `compiler-rt` build. This patch checks for both options instead of hardcoding their use. Tested on `amd-pc-solaris2.11` (all of Solaris 11.4, 11.3, and Illumos). Differential Revision: https://reviews.llvm.org/D84559
-
Stefan Pintilie authored
Currently the instruction paddi always takes s34imm as the type for the 34 bit immediate. However, the PC Relative form of the instruction should not produce the same fixup as the non PC Relative form. This patch splits the s34imm type into s34imm and s34imm_pcrel so that two different fixups can be emitted. Reviewed By: nemanjai, #powerpc, kamaub Differential Revision: https://reviews.llvm.org/D83255
-
Evgeniy Brevnov authored
In order to facilitate review of D79485 here is a small NFC change which restructures code around handling of SCCs in BPI. Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D84514
-
Kai Nacke authored
The function setLastAccessAndModificationTime() uses function futimens() or futimes() by default. Both functions are not available in z/OS, therefore functionality is implemented using __fchattr() on z/OS. Reviews by: abhina.sreeskantharajan Differential Revision: https://reviews.llvm.org/D83945
-