- Sep 28, 2021
-
-
Mehdi Amini authored
Differential Revision: https://reviews.llvm.org/D110565
-
-
Kirill Bobyrev authored
Preparation for D108194. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D110386
-
Liu, Chen3 authored
This bug was introduced by D109953. The operand order of generated FMA is wrong. Differential Revision: https://reviews.llvm.org/D110606
-
Lang Hames authored
This was broken by the switch from JITTargetAddress to ExecutorAddr in 21a06254.
-
Xiang1 Zhang authored
Reviewed By: Craig Topper, Wang Pengfei Differential Revision: https://reviews.llvm.org/D110467
-
Anna Thomas authored
Need a more general CHECK line for testcase in 5df9112c for correctly handling lld-x86_64-win buildbot.
-
Ahsan Saghir authored
This reverts commit 94ea3664. Reverting due to errors on buildbots.
-
Anna Thomas authored
This relands commit 16a62d4f. Relanded after fixing CHECK-LINES for opt pipeline output to be more general (based on failures seen in buildbot).
-
Lang Hames authored
-
Lang Hames authored
Slab allocator failures will now report requested size and remaining capacity.
-
Ahsan Saghir authored
This patch adds the following built-ins: __builtin_vsx_build_pair __builtin_mma_build_acc Reviewed By: #powerpc, nemanjai, lei Differential Revision: https://reviews.llvm.org/D107647
-
Lang Hames authored
Part of the ongoing move to ExecutorAddr.
-
Michael Kruse authored
SplitBlockPredecessors is unable to insert an additional BasicBlock between an indirectbr/callbr terminator and the successor blocks. This is needed by Polly to normalize the control flow before emitting its optimzed code. This patches rejects regions entered by an indirectbr/callbr to not fail later at code generation. This fixes llvm.org/PR51964 Recommit with "REQUIRES: asserts" in test that uses statistics.
-
Joe Loser authored
There is some use of `enable_if<...>::type` when the rest of the file uses `enable_if_t`. So, use `enable_if_t` consistently throughout.
-
Lang Hames authored
This allows these error values to remain valid, even if they tear down the JIT itself.
-
Congzhe Cao authored
With improved analysis in determining CFG equivalence that does not require strict dominance and post-dominance conditions, we now relax isSafeToMoveBefore() such that an instruction I can be moved before InsertPoint even if they do not strictly dominate each other, as long as they follow the same control flow path. For example, we can move Instruction 0 before Instruction 1, and vice versa. ``` if (cond1) // Instruction 0: %add = add i32 1, 2 if (cond1) // Instruction 1: %add2 = add i32 2, 1 ``` Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D110456
-
Kevin Athey authored
This reverts commit b72176b9. Broke bot: https://lab.llvm.org/buildbot/#/builders/70/builds/12193
-
LLVM GN Syncbot authored
-
Jozef Lawrynowicz authored
The MSP430 ABI supports build attributes for specifying the ISA, code model, data model and enum size in ELF object files. Differential Revision: https://reviews.llvm.org/D107969
-
Jon Chesterfield authored
-
Jon Chesterfield authored
-
Anna Thomas authored
This reverts commit 16a62d4f. Needs some update to check lines to fix bb failure.
-
Louis Dionne authored
In reaction to the issues raised by Richard in https://llvm.org/D109066, this commit does not apply P1951 as a DR in previous standard modes, since it breaks valid code. I do believe it should be applied as a DR, however ideally we'd get some sort of statement from the Committee to this effect (and all implementations would behave consistently). In the meantime, only implement P1951 starting with C++23 -- we can always come back and apply it as a DR if that's what the Committee says. Differential Revision: https://reviews.llvm.org/D110347
-
Anna Thomas authored
Precommit testcase for D110438. Since we do not preserve BPI in loop pass manager, we are forced to compute BPI everytime Loop predication is invoked. The patch referenced changes that behaviour by preserving lossy BPI for loop passes.
-
Simon Pilgrim authored
-
Kostya Kortchinsky authored
GWP-ASan's `AllocatorState` was recently extended with a `AllocatorVersionMagic` structure required so that GWP-ASan bug reports can be understood by tools at different versions. On Fuchsia, this in included in the `scudo::Allocator` structure, and by having non-zero initializers, this effectively moved the static allocator structure from the `.bss` segment to the `.data` segment, thus increasing (significantly) the size of the libc. This CL proposes to initialize the structure with its magic numbers at runtime, allowing for the allocator to go back into the `.bss` segment. I will work on adding a test on the Scudo side to ensure that this type of changes get detected early on. Additional work is also needed to reduce the footprint of the (large) memory-tagging related structures that are currently part of the allocator. Differential Revision: https://reviews.llvm.org/D110575
-
Roman Lebedev authored
-
Florian Mayer authored
Reviewed By: mtrofin, davidxl Differential Revision: https://reviews.llvm.org/D109764
-
Fangrui Song authored
These values allow, for example, `--target=aarch64` and `--target=aarch64-linux-gnu` to detect `aarch64-linux-android`. This is confusing. Users should specify `--target=aarch64-linux-android` to get Android GCC installation. Reverts D53463. Reviewed By: nickdesaulniers, danalbert Differential Revision: https://reviews.llvm.org/D110379
-
Roman Lebedev authored
-
modimo authored
Thinlink provides an opportunity to propagate function attributes across modules, enabling additional propagation opportunities. This change propagates (currently default off, turn on with `disable-thinlto-funcattrs=1`) noRecurse and noUnwind based off of function summaries of the prevailing functions in bottom-up call-graph order. Testing on clang self-build: 1. There's a 35-40% increase in noUnwind functions due to the additional propagation opportunities. 2. Throughput is measured at 10-15% increase in thinlink time which itself is 1.5% of E2E link time. Implementation-wise this adds the following summary function attributes: 1. noUnwind: function is noUnwind 2. mayThrow: function contains a non-call instruction that `Instruction::mayThrow` returns true on (e.g. windows SEH instructions) 3. hasUnknownCall: function contains calls that don't make it into the summary call-graph thus should not be propagated from (e.g. indirect...
-
Tobias Gysi authored
Adapt the signature of the PaddingValueComputationFunction callback to either return the padding value or failure to signal padding is not desired. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D110572
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For this tuple, measuring becomes problematic since there's a lot of spilling going on, but apparently all these memory ops do not affect worst-case estimate at all here. For load we have: https://godbolt.org/z/zP4hd8MT6 - for intels `Block RThroughput: =150.0`; for ryzens, `Block RThroughput: <=59` So pick cost of `150`. For store we have: https://godbolt.org/z/vKb8zTK8E - for intels `Block RThroughput: =32.0`; for ryzens, `Block RThroughput: <=24.0` So pick cost of `64`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110548
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/Wd9cKab83 - for intels `Block RThroughput: =75.0`; for ryzens, `Block RThroughput: <=29.5` So pick cost of `75`. (note that `# 32-byte Reload` does not affect throughput there.) For store we have: https://godbolt.org/z/Wd9cKab83 - for intels `Block RThroughput: =32.0`; for ryzens, `Block RThroughput: <=12.0` So pick cost of `32`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110543
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/dd8T5P471 - for intels `Block RThroughput: =33.0`; for ryzens, `Block RThroughput: <=14.5` So pick cost of `33`. For store we have: https://godbolt.org/z/zPxcKWhn4 - for intels `Block RThroughput: =10.0`; for ryzens, `Block RThroughput: <=6.0` So pick cost of `10`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110541
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/rnsf639Wh - for intels `Block RThroughput: =17.0`; for ryzens, `Block RThroughput: <=7.5` So pick cost of `17`. For store we have: https://godbolt.org/z/565KKrcY6 - for intels `Block RThroughput: =6.0`; for ryzens, `Block RThroughput: =2.0` So pick cost of `6`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110537
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/5EYc6r9nh - for intels `Block RThroughput: =6.0`; for ryzens, `Block RThroughput: <=3.0` So pick cost of `6`. For store we have: https://godbolt.org/z/z61e5d6GE - for intels `Block RThroughput: =2.0`; for ryzens, `Block RThroughput: <=1.0` So pick cost of `2`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110536
-
Chris Bieneman authored
I always forget that new line...
-