- Feb 09, 2021
-
-
Julian Lettner authored
The new pass manager was enabled by default [1]. The commit message states the following relevant differences: * The inliner works slightly differently * -O1 does some amount of inlining These tests are affected because they specify `-O1` and then check the reported stack trace. [1] https://reviews.llvm.org/D95380 Differential Revision: https://reviews.llvm.org/D96198
-
Craig Topper authored
This ensures that we'll match immediates consistently regardless of whether we match them as a standalone splat or as part of another operation. While I was there I added complexities to the simm5/uimm5 patterns so we didn't have to assume that the 1 on the non-immediate was lower than what tablegen inferred. I had to make a minor tweak to tablegen to fix one place that didn't expect to see a ComplexPattern that wasn't a "leaf". Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D96199
-
Jay Foad authored
-
Michał Górny authored
Introduce mips64 support to match the legacy FreeBSD plugin. Similarly to the legacy plugin, the code does not support FPU registers at the moment. The support for them will be submitted separately as it requires changes to the register context shared by both plugins. This also includes software single-stepping support that is moved from the Linux plugin into a common Utility class. The FreeBSD code also starts explicitly ignoring EINVAL from PT_CLEARSTEP since this is easier to implement than checking whether hardware single-stepping were used. Differential Revision: https://reviews.llvm.org/D95802
-
Frederik Gossen authored
-
Fangrui Song authored
This patch adds * Big-endian values for `R_AARCH64_{ABS,PREL}{16,32,64}` and `R_AARCH64_PLT32` * aarch64elfb & aarch64linuxb BFD emulations * elf64-bigaarch64 output format (bfdname) Link: https://github.com/ClangBuiltLinux/linux/issues/1288 Differential Revision: https://reviews.llvm.org/D96188 -
Fangrui Song authored
Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D96211
-
Eric Schweitz authored
Upstream the changes made to the !fir.char type. https://github.com/flang-compiler/f18-llvm-project/pull/269 https://github.com/flang-compiler/f18-llvm-project/pull/557 Author: Eric Schweitz, Jean Perier Differention Revision: https://reviews.llvm.org/D96183
-
Xiangling Liao authored
As Itanium ABI[http://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor] points out: "The size of the guard variable is 64 bits. The first byte (i.e. the byte at the address of the full variable) shall contain the value 0 prior to initialization of the associated variable, and 1 after initialization is complete." Differential Revision: https://reviews.llvm.org/D95822
-
Anastasia Stulova authored
Pipe element type spelling for arg info metadata should follow the same behavior as normal type spelling. We should only use the canonical type spelling in the base type field. This patch also removed duplication in type handling. Tags: #clang Differential Revision: https://reviews.llvm.org/D96151
-
- Feb 08, 2021
-
-
Sander de Smalen authored
Making VectorIndex an `int` instead of `unsigned`, silences the warning: comparison of unsigned expression in ‘>= 0’ is always true in: template <int Min, int Max> DiagnosticPredicate isVectorIndex() const { ... if (VectorIndex.Val >= Min && VectorIndex.Val <= Max) return DiagnosticPredicateTy::Match; ... } when Min is 0. -
Louis Dionne authored
We don't have many of those and they are rather slow, so we'd rather not run those jobs if we know other jobs in the pipeline failed anyway.
-
Tim Northover authored
More MachO madness for everyone. MachO relocations are only 32-bits, which means the ARM64_RELOC_ADDEND one only actually has 24 (signed) bits for the actual addend. This is a problem when calculating the address of a basic block; because it has no symbol of its own, the sequence adrp x0, Ltmp0@PAGE add x0, x0, x0 Ltmp0@PAGEOFF is represented by relocation with an addend that contains the offset from the function start to Ltmp, and so the largest function where this is guaranteed to work is 8MB. That's not quite big enough that we can call it user error (IMO). So this patch puts the any blockaddress into a constant-pool, where the addend is instead stored in the (x)word being relocated, which is obviously big enough for any function.
-
Jamie Schmeiser authored
Summary: Introduce base classes that hold a textual represent of the IR based on basic blocks and a base class for comparing this representation. A new change printer is introduced that uses these classes to save and compare representations of the IR before and after each pass. It only reports when changes are made by a pass (similar to -print-changed) except that the changes are shown in a patch-like format with those lines that are removed shown in red prefixed with '-' and those added shown in green with '+'. This functionality was introduced in my tutorial at the 2020 virtual developer's meeting. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D91890
-
Simon Pilgrim authored
This is going to be necessary for a future reuse of MergeInnerShuffle
-
Mikael Holmen authored
My toolchain (LLVM 8.0, libstdc++ 5.4.0) complained with: 12:38:19 ../lib/Target/RISCV/RISCVISelLowering.cpp:1717:12: error: chosen constructor is explicit in copy-initialization 12:38:19 return {RISCVISD::VECREDUCE_FADD, Op.getOperand(0), 12:38:19 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12:38:19 /proj/flexasic/app/llvm/8.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:479:19: note: explicit constructor declared here 12:38:19 constexpr tuple(_UElements&&... __elements) 12:38:19 ^ 12:38:19 ../lib/Target/RISCV/RISCVISelLowering.cpp:1720:12: error: chosen constructor is explicit in copy-initialization 12:38:19 return {RISCVISD::VECREDUCE_SEQ_FADD, Op.getOperand(1), Op.getOperand(0)}; 12:38:19 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12:38:19 /proj/flexasic/app/llvm/8.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:479:19: note: explicit constructor declared here 12:38:19 constexpr tuple(_UElements&&... __elements) 12:38:19 ^ 12:38:19 2 errors generated. This commit adds explicit calls to std::make_tuple to work around the problem. -
Nicholas Guy authored
Different targets might handle branch performance differently, so this patch allows for targets to specify the TailDuplicateSize threshold. Said threshold defines how small a branch can be and still be duplicated to generate straight-line code instead. This patch also specifies said override values for the AArch64 subtarget. Differential Revision: https://reviews.llvm.org/D95631
-
KareemErgawy-TomTom authored
Following up on https://reviews.llvm.org/D94360, this patch splits the serialization code into multiple source files to provide a better structure and allow parallel compilation. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D95855
-
Florian Hahn authored
This patch improves the index management during constraint building. Previously, the code rejected constraints which used values that were not part of Value2Index, but after combining the coefficients of the new indices were 0 (if ShouldAdd was 0). In those cases, no new indices need to be added. Instead of adding to Value2Index directly, add new indices to the NewIndices map. The caller can then check if it needs to add any new indices. This enables checking constraints like `a + x <= a + n` to `x <= n`, even if there is no constraint for `a` directly.
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D96143
-
Jeremy Morse authored
Maskray has reported a fault with .debug_gnu_pubnames in the comments on D94976, caused by this patch, reverting to investigate. This reverts commit 8998f584.
-
Jeremy Morse authored
Revert "DebugInfo: Temporarily work around -gsplit-dwarf + LTO .debug_gnu_pubnames regression after D94976" Backing out this workaround to focus on fixing whatever's wrong with .debug_gnu_pubnames, I'll revert the cause, (8998f584) in the next commit. This reverts commit 56fa34ae.
-
einvbri authored
This reverts commit e48f4447. thakis noticed false reports, so reverting this change for now until those can be sorted out. See https://reviews.llvm.org/D71714
-
Kadir Cetinkaya authored
Fixes https://github.com/clangd/clangd/issues/676. Differential Revision: https://reviews.llvm.org/D95935
-
Jan Svoboda authored
This reverts commit 6039f821 and reapplies bff6d9bb. Clang's Index/implicit-attrs.m test invokes c-index-test with -fobjc-arc. This flag is not compatible with -fobjc-runtime=gcc, which gets implied on Linux. The original commit uncovered this by correctly reporting issues when parsing -cc1 command line. This commit fixes the test to explicitly provide ObjectiveC runtime compatible with ARC.
-
Tatyana Krasnukha authored
There is a .categories file in the python_api directory that makes all nested tests belong to the category "pyapi". The decorator is unnecessary for these tests.
-
Tatyana Krasnukha authored
The test was timing out because of https://reviews.llvm.org/D92164, it should pass now.
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
The Debugger didn't take the Process's run lock, that causes deadlocks and races after applying https://reviews.llvm.org/D92164 revision. Since ExecutionContextRef does the same job correctly, Debugger::GetSelectedExecutionContext just can use it to build execution context upon the selected target.
-
Thomas Symalla authored
When running the tests on PowerPC and x86, the lit test GlobalISel/trunc.ll fails at the memory sanitize step. This seems to be due to wrong invalid logic (which matches even if it shouldn't) and likely missing variable initialisation." Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D95878
-
KareemErgawy-TomTom authored
Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D95937
-
David Green authored
Because we mark all operations as expand for v2f64, scalar_to_vector would end up lowering through a stack store/reload. But it is pretty simple to implement, only inserting a D reg into an undef vector. This helps clear up some inefficient codegen from soft calling conventions. Differential Revision: https://reviews.llvm.org/D96153
-
Dmitry Preobrazhensky authored
Fixed bug 49054. Differential Revision: https://reviews.llvm.org/D96117
-
Jeremy Morse authored
-
David Green authored
-
David Green authored
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D96118
-
Sander de Smalen authored
Clearly seems like this was a typo.
-
Sven van Haastregt authored
Do not enforce that the expression to obtain the QualType for an OpenCL type starts with an ASTContext. This adds the required flexibility for handling the remaining missing argument types such as enums. Differential Revision: https://reviews.llvm.org/D96050
-
Muhammad Omair Javaid authored
This patch fixes regression in symbol-binding.test due to change in symbol order.
-