- Oct 08, 2021
-
-
Mark Schimmel authored
[ARC] ARCRegisterInfo cleanup prior to adding core register pairs (ARC32) and 64-bit core registers (ARC64) Differential Revision: https://reviews.llvm.org/D11108
-
Keith Smiley authored
Some subprojects like compiler-rt define the `darwin` feature in their lit config, but clang does not do that, so we need to use the global `system-darwin` here instead. Differential Revision: https://reviews.llvm.org/D111267
-
Nikita Popov authored
LoopFlatten does preserve loop analyses (DT, LI and SCEV), but currently doesn't mark them as preserved in the NewPM (they are marked as preserved in the LegacyPM). I think this doesn't really have an effect in the end because the loop pass adaptor will just assume they're preserved anyway, but let's be explicit about this for the sake of clarity. Differential Revision: https://reviews.llvm.org/D111328
-
Geoffrey Martin-Noble authored
Updates the Bazel config for changes from https://github.com/llvm/llvm-project/commit/3b01cf9286 by adding configuration for the new OpenMPOpsInterfaces tablegn target. Differential Revision: https://reviews.llvm.org/D111347
-
Louis Dionne authored
Vendors take libc++ and ship it in various ways. Some vendors might ship it differently from what upstream LLVM does, i.e. the install location might be different, some ABI properties might differ, etc. In the past few years, I've come across several instances where having a place to test some of these properties would have been incredibly useful. I also just got bitten by the lack of tests of that kind, so I'm adding some now. The tests added by this commit for Apple platforms have numerous TODOs that capture discrepancies between the upstream LLVM CMake and the slightly-modified build we perform internally to produce Apple's system libc++. In the future, the goal would be to upstream all those differences so that it's possible to build a faithful Apple system libc++ with the upstream LLVM sources only. But this isn't only useful for Apple - this lays out the path for any vendor being able to add their own checks (either upstream or downstream) to libc++. This is a re-application of 9892d164, which was reverted in 138dc271 because it broke the build. The issue was that we didn't apply the required changes to libunwind and our CI didn't notice it because we were not running the libunwind tests. This has been fixed now, and we're running the libunwind tests in CI now too. Differential Revision: https://reviews.llvm.org/D110736
-
Keith Smiley authored
Some subprojects like compiler-rt define the `darwin` feature in their lit config, but lld does not do that, so we need to use the global system-darwin here instead. This test seems to have drifted from the actual behavior so I also had to add `/usr/local/lib` here to make it pass. Differential Revision: https://reviews.llvm.org/D111268
-
Jamie Schmeiser authored
Revert "Reland A new option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash." This reverts commit 13d15927.
-
Jon Chesterfield authored
-
Sanjay Patel authored
This helps with examples like: https://llvm.org/PR52057 ...but we need at least one more fold to fix that case.
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D111007
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D111006
-
Jay Foad authored
When PHIElimination adds kills after lowering PHIs to COPYs it knows that some instructions after the inserted COPY might use the same SrcReg, but it was only looking at the terminator instructions at the end of the block, not at other instructions like INLINEASM_BR that can appear after the COPY insertion point. Since we have already called findPHICopyInsertPoint, which knows about INLINEASM_BR, we might as well reuse the insertion point that it calculated when looking for instructions that might use SrcReg. This fixes a machine verification failure if you force machine verification to run after PHIElimination (currently it is disabled for other reasons) when running test/CodeGen/X86/callbr-asm-phi-placement.ll. Differential Revision: https://reviews.llvm.org/D110834
-
Jay Foad authored
-
Jamie Schmeiser authored
Reland A new option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash. Summary: The IR is saved in its print form before each pass is started and a signal handler is registered. If the compilation crashes, the signal handler will print the saved IR to dbgs(). This option can be modified using -print-module-scope to get the IR for the complete module. Filtering options can be used to improve performance by limiting which passes (or functions) save the IR. Note that this option only works with the new pass manager. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: aeubanks (Arthur Eubanks) yrouban (Yevgeny Rouban) Differential Revision: https://reviews.llvm.org/D86657
-
Kiran Chandramohan authored
Add an interface for outlineable OpenMP operations. This patch was initially done in fir-dev and is now needed for the upstreaming. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D111310
-
Stella Laurenzo authored
[mlir][python] Temporarily disable test for converting unsupported DenseElementsAttr types to a buffer. * Need to investigate the proper solution to https://github.com/pybind/pybind11/issues/3336 or engineer something different. * The attempt to produce an empty buffer_info as a workaround triggers asan/ubsan. * Usage of this API does not arise naturally in practice yet, and it is more important to be asan/crash clean than have a solution right now. * Switching back to raising an exception, even though that triggers terminate().
-
Jay Foad authored
X86InstrInfo::convertToThreeAddress would convert this: %1:gr32 = ADD32rr killed %0:gr32(tied-def 0), %0:gr32, implicit-def dead $eflags to this: undef %2.sub_32bit:gr64 = COPY killed %0:gr32 undef %3.sub_32bit:gr64_nosp = COPY %0:gr32 %1:gr32 = LEA64_32r killed %2:gr64, 1, killed %3:gr64_nosp, 0, $noreg Note that in the ADD32rr, %0 was used twice and the first use had a kill flag, which is what MachineInstr::addRegisterKilled does. In the converted code, each use of %0 is copied to a new reg, and the first COPY inherits the kill flag from the ADD32rr. This causes machine verification to fail (if you force it to run after TwoAddressInstructionPass) because the second COPY uses %0 after it is killed. Note that machine verification is currently disabled after TwoAddressInstructionPass but this is a step towards being able to enable it. Fix this by not inserting more than one COPY from the same source register. Differential Revision: https://reviews.llvm.org/D110829
-
Jay Foad authored
-
Artem Belevich authored
Otherwise we may end up with an inconsistent redeclarations of the standard library functions if _FORTIFY_SOURCE is in effect. https://bugs.llvm.org/show_bug.cgi?id=47869 Differential Revision: https://reviews.llvm.org/D110781
-
Amara Emerson authored
This is a straight port from the equivalent DAG combine. Differential Revision: https://reviews.llvm.org/D110890
-
Craig Topper authored
Zbc RUN lines should use ZBC instead of BC in their prefix.
-
Akira Hatanaka authored
This is in preparation for another patch I'm planning to send later.
-
Fangrui Song authored
Extracted from Itay Bookstein's D108872.
-
Kevin P. Neal authored
In the review of D111085 it was pointed out that these functions don't conform to the naming scheme in use in LLVM. With this commit we should be good for all of FPEnv.h.
-
Jay Foad authored
Print this basic block flag as inlineasm-br-indirect-target and parse it. This allows you to write MIR test cases for INLINEASM_BR. The test case I added is one that I wanted to precommit anyway for D110834. Differential Revision: https://reviews.llvm.org/D111291
-
Bjorn Pettersson authored
This patch fixes problems reported in PR51981. When rotating a loop it isn't enough to just forget SCEV for that loop nest. When rotating we might clone some instructions from the old header into the preheader, and insert new PHI nodes to merge values together. There could be users of the original value that are updated to use the PHI result. And those users were not necessarily depending on a PHI node earlier, so they weren't cleaned up when just forgetting all SCEV:s for the loop nest. So we need to explicitly forget those values to avoid invalid cached SCEV expressions. Reviewed By: fhahn, mkazantsev Differential Revision: https://reviews.llvm.org/D110813
-
Bjorn Pettersson authored
Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D110812
-
Luke Drummond authored
mingw-g++ does not correctly support the full `std::errc` namespace as worded in the standard[1]. As such, we cannot reliably use all names therein. This patch changes the use of `std::errc::state_not_recoverable`, to use portable error codes from the `llvm::errc` equivalent. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71444 Reviewed by v.g.vassilev Differential Revision: https://reviews.llvm.org/D111315
-
Kazu Hirata authored
This patch fixes: llvm-project/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp:204:6: error: missing field 'invalidate_regs' initializer [-Werror,-Wmissing-field-initializers]
-
Craig Topper authored
getScalarSizeInBits() doesn't work if the scalar type is a pointer. For that we need to go through DataLayout.
-
Corentin Jabot authored
Desccribe in cxx_status.html the missing parts of the partially implemented proposals described in cxx_status.html. Uses <details> blocks so the information appears collapsed by default.
-
Paul Robinson authored
-
Amy Kwan authored
This patch updates the vec_popcnt builtins to return vector unsigned, as defined by the Power Vector Intrinsics Programming Reference. This patch is NFC and all existing tests pass. Differential Revision: https://reviews.llvm.org/D110934
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/4BE33w This is the logical (select-form) equivalent of the bitwise logic fold: e36d351d This is another part of solving the regression from: https://llvm.org/PR52077
-
gbreynoo authored
This change is to keep the help text and command guide of llvm-readelf in tandem. - In the help text mention that --section-data, --section-relocations, --section-symbols and --stack-sizes have no effect on GNU style output; give the accepted values for --elf-output-style and update the description of --gnu-hash-table to use the command guide description. - In the command guide add the missing options -a, --dependant-libraries,--no-demangle, --wide and -W. Also update the description of --symbols so it matches the help text. Differential Revision: https://reviews.llvm.org/D111240
-
Mark de Wever authored
Replace `&__rhs` with `_VSTD::addressof(__rhs)` to guard against ADL hijacking of `operator&` in `operator=`. Thanks to @CaseyCarter for bringing it to our attention. Similar issues with hijacking `operator&` still exist, they will be addressed separately. Reviewed By: #libc, Quuxplusone, ldionne Differential Revision: https://reviews.llvm.org/D110852
-
David Spickett authored
This has started failing since we moved our bots to Focal. For unknown reasons the abort_caller stack is missing when we check from the handler breakpoint. Mark unsupported while I investigate.
-
Mark Schimmel authored
Fixed formatting issues reported by clang-format Differential Revision: https://reviews.llvm.org/D111255
-
- Oct 07, 2021
-
-
Stella Laurenzo authored
* This already half existed in terms of reading the raw buffer backing a DenseElementsAttr. * Documented the precise expectations of the buffer layout. * Extended the Python API to support construction from bitcasted buffers, allowing construction of all primitive element types (even those that lack a compatible representation in Python). * Specifically, the Python API can now load all integer types at all bit widths and all floating point types (f16, f32, f64, bf16). Differential Revision: https://reviews.llvm.org/D111284
-
Chris Jackson authored
SCEV-based salvaging will use excessive resources if it encounters very long SCEV expressions. This patch places a limit on the length of SCEV expression that salvaging will attempt to translate. Reviewed by: Orlando Differential Revision: https://reviews.llvm.org/D110558
-