Commit
f33f8a2b30325d89c4b7daef1b7d11d6da38fd56
by benny.kraMove AffineMapAttr into BaseOps.td
AffineMapAttr is already part of base, it's just impossible to refer to it from ODS without pulling in the definition from Affine dialect.
Differential Revision: https://reviews.llvm.org/D88555
|
 | mlir/include/mlir/IR/OpBase.td |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/include/mlir/Dialect/GPU/ParallelLoopMapperAttr.td |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/include/mlir/Dialect/Affine/IR/AffineOps.td |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td |
 | mlir/include/mlir/Dialect/Affine/IR/AffineOpsBase.td |
Commit
dc261d23d07cccfa7b10a3d1a43903138aee94dc
by ro[sanitizers] Fix internal__exit on Solaris `TestCases/log-path_test.cpp` currently `FAIL`s on Solaris:
$ env ASAN_OPTIONS=log_path=`for((i=0;i<10000;i++)); do echo -n $i; done` ./log-path_test.cpp.tmp ==5031==ERROR: Path is too long: 01234567... Segmentation Fault (core dumped)
The `SEGV` happens here:
Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00000000 in ?? () (gdb) where #0 0x00000000 in ?? () #1 0x080a1e63 in __interceptor__exit (status=1) at /vol/gcc/src/llvm/llvm/local/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:3808 #2 0x08135ea8 in __sanitizer::internal__exit (exitcode=1) at /vol/gcc/src/llvm/llvm/local/projects/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc:139
when `__interceptor__exit` tries to call `__interception::real__exit` which is `NULL` at this point because the interceptors haven't been initialized yet.
Ultimately, the problem lies elsewhere, however: `internal__exit` in `sanitizer_solaris.cpp` calls `_exit` itself since there doesn't exit a non-intercepted version in `libc`. Using the `syscall` interface instead isn't usually an option on Solaris because that interface isn't stable. However, in the case of `SYS_exit` it can be used nonetheless: `SYS_exit` has remained unchanged since at least Solaris 2.5.1 in 1996, and this is what this patch does.
Tested on `amd64-pc-solaris2.11`.
Differential Revision: https://reviews.llvm.org/D88404
|
 | compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
Commit
944691f0b7fa8d99790a4544545e55f014c37295
by Xiangling.Liao[NFC][FE] Replace TypeSize with StorageUnitSize
On some targets like AIX, last bitfield size is not always equal to last bitfield type size. Some bitfield like bool will have the same alignment as [unsigned]. So we'd like to use a more general term `StorageUnit` to replace type in this field.
Differential Revision: https://reviews.llvm.org/D88260
|
 | clang/lib/AST/RecordLayoutBuilder.cpp |
Commit
89baeaef2fa9a2441d087a218ac82e11a5d4e548
by Matthew.ArsenaultReapply "RegAllocFast: Rewrite and improve"
This reverts commit 73a6a164b84a8195defbb8f5eeb6faecfc478ad4.
|
 | llvm/test/CodeGen/ARM/Windows/alloca.ll |
 | llvm/test/CodeGen/PowerPC/spill-nor0.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub.ll |
 | llvm/test/CodeGen/X86/fast-isel-cmp-branch.ll |
 | llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/zext_and_sext.ll |
 | llvm/test/DebugInfo/X86/pieces-1.ll |
 | llvm/test/CodeGen/PowerPC/fast-isel-pcrel.ll |
 | llvm/test/CodeGen/X86/atomic-monotonic.ll |
 | llvm/test/CodeGen/X86/pr30813.ll |
 | llvm/test/CodeGen/PowerPC/popcount.ll |
 | llvm/test/CodeGen/AMDGPU/fastregalloc-self-loop-heuristic.mir |
 | llvm/test/CodeGen/ARM/ldrd.ll |
 | llvm/test/CodeGen/AArch64/unwind-preserved.ll |
 | llvm/test/CodeGen/Mips/atomic-min-max.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bitwise.ll |
 | llvm/test/CodeGen/X86/x86-64-intrcc.ll |
 | llvm/test/DebugInfo/Mips/prologue_end.ll |
 | llvm/test/DebugInfo/X86/parameters.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sitofp_and_uitofp.ll |
 | llvm/test/CodeGen/X86/mixed-ptr-sizes-i686.ll |
 | llvm/test/CodeGen/Mips/copy-fp64.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll |
 | llvm/test/CodeGen/X86/fast-isel-select-sse.ll |
 | llvm/test/CodeGen/X86/pr42452.ll |
 | llvm/test/CodeGen/ARM/pr47454.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.ll |
 | llvm/test/CodeGen/PowerPC/vsx-args.ll |
 | llvm/test/CodeGen/X86/pr32345.ll |
 | llvm/test/DebugInfo/X86/op_deref.ll |
 | llvm/test/CodeGen/PowerPC/spill-nor0.ll |
 | llvm/test/CodeGen/X86/bug47278.mir |
 | llvm/test/CodeGen/AArch64/swift-return.ll |
 | llvm/test/CodeGen/ARM/fast-isel-vararg.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/var_arg.ll |
 | llvm/test/CodeGen/PowerPC/builtins-ppc-p10vsx.ll |
 | llvm/test/CodeGen/ARM/cmpxchg-O0-be.ll |
 | llvm/test/CodeGen/X86/2013-10-14-FastISel-incorrect-vreg.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bitreverse.ll |
 | llvm/test/CodeGen/X86/fast-isel-x86-64.ll |
 | llvm/test/CodeGen/X86/phys-reg-local-regalloc.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/ctlz.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll |
 | llvm/test/CodeGen/AArch64/cmpxchg-O0.ll |
 | llvm/test/CodeGen/X86/bug47278-eflags-error.mir |
 | llvm/test/CodeGen/X86/atomic32.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add_vec.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/store_4_unaligned.ll |
 | llvm/test/CodeGen/ARM/cmpxchg-O0.ll |
 | llvm/test/CodeGen/Mips/Fast-ISel/callabi.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s32.ll |
 | llvm/test/CodeGen/X86/avx-load-store.ll |
 | llvm/test/CodeGen/PowerPC/anon_aggr.ll |
 | llvm/test/DebugInfo/AArch64/prologue_end.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fcmp.ll |
 | llvm/test/CodeGen/X86/volatile.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/builtin-return-address-pacret.ll |
 | llvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll |
 | llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll |
 | llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir |
 | llvm/test/CodeGen/Mips/atomicCmpSwapPW.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/global_address.ll |
 | llvm/test/DebugInfo/X86/subreg.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/store_split_because_of_memsize_or_align.ll |
 | llvm/test/CodeGen/PowerPC/elf-common.ll |
 | llvm/test/CodeGen/PowerPC/stack-guard-reassign.ll |
 | llvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll |
 | llvm/test/CodeGen/AMDGPU/spill192.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/cttz.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul_vec.ll |
 | llvm/test/CodeGen/AArch64/combine-loads.ll |
 | llvm/test/CodeGen/X86/pr27591.ll |
 | llvm/test/CodeGen/X86/atomic6432.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll |
 | llvm/test/CodeGen/ARM/fast-isel-select.ll |
 | llvm/test/CodeGen/X86/atomic64.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/ctpop.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/test_TypeInfoforMF.ll |
 | llvm/test/CodeGen/X86/pr30430.ll |
 | llvm/test/CodeGen/X86/pr11415.ll |
 | llvm/test/CodeGen/ARM/fast-isel-intrinsic.ll |
 | llvm/test/CodeGen/PowerPC/aggressive-anti-dep-breaker-subreg.ll |
 | llvm/test/CodeGen/X86/x86-32-intrcc.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/brindirect.ll |
 | llvm/test/CodeGen/SPARC/fp16-promote.ll |
 | llvm/test/CodeGen/AMDGPU/fast-ra-kills-vcc.mir |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll |
 | llvm/test/CodeGen/X86/pr32340.ll |
 | llvm/test/CodeGen/ARM/fast-isel-call.ll |
 | llvm/test/CodeGen/Mips/atomic64.ll |
 | llvm/test/CodeGen/X86/pr32241.ll |
 | llvm/test/CodeGen/AMDGPU/fastregalloc-illegal-subreg-physreg.mir |
 | llvm/test/CodeGen/X86/pr34653.ll |
 | llvm/test/CodeGen/Mips/Fast-ISel/pr40325.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub_vec.ll |
 | llvm/test/CodeGen/ARM/thumb-big-stack.ll |
 | llvm/test/CodeGen/X86/win64_eh.ll |
 | llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll |
 | llvm/test/CodeGen/X86/atomic-unordered.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/zextLoad_and_sextLoad.ll |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-call.ll |
 | llvm/test/CodeGen/Mips/micromips-eva.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add.ll |
 | llvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll |
 | llvm/test/CodeGen/PowerPC/p9-vinsert-vextract.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/darwin-tls-call-clobber.ll |
 | llvm/test/CodeGen/ARM/2010-08-04-StackVariable.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/branch.ll |
 | llvm/test/CodeGen/X86/pr32451.ll |
 | llvm/test/CodeGen/ARM/swifterror.ll |
 | llvm/test/CodeGen/X86/mixed-ptr-sizes.ll |
 | llvm/test/CodeGen/X86/pr1489.ll |
 | llvm/test/CodeGen/X86/stack-protector-strong-macho-win32-xor.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/dyn_stackalloc.ll |
 | llvm/test/CodeGen/PowerPC/vsx.ll |
 | llvm/test/CodeGen/X86/pr34592.ll |
 | llvm/test/DebugInfo/AArch64/frameindices.ll |
 | llvm/test/CodeGen/PowerPC/fp-strict-fcmp-noopt.ll |
 | llvm/test/CodeGen/PowerPC/fp64-to-int16.ll |
 | llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll |
 | llvm/test/CodeGen/AArch64/swifterror.ll |
 | llvm/test/CodeGen/X86/swifterror.ll |
 | llvm/test/CodeGen/ARM/stack-guard-reassign.ll |
 | llvm/test/DebugInfo/X86/sret.ll |
 | llvm/test/CodeGen/AMDGPU/reserve-vgpr-for-sgpr-spill.ll |
 | llvm/test/CodeGen/AMDGPU/spill-agpr.mir |
 | llvm/test/DebugInfo/X86/dbg-declare-arg.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/global_address_pic.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bswap.ll |
 | llvm/test/CodeGen/Thumb2/mve-vector-spill.ll |
 | llvm/test/CodeGen/X86/pr39733.ll |
 | llvm/test/CodeGen/ARM/debug-info-blocks.ll |
 | llvm/test/DebugInfo/ARM/prologue_end.ll |
 | llvm/test/CodeGen/X86/swift-return.ll |
 | llvm/test/CodeGen/X86/crash-O0.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/aggregate_struct_return.ll |
 | llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll |
 | llvm/lib/CodeGen/RegAllocFast.cpp |
 | llvm/test/CodeGen/AArch64/arm64_32-null.ll |
 | llvm/test/DebugInfo/X86/fission-ranges.ll |
 | llvm/test/CodeGen/SystemZ/swifterror.ll |
 | llvm/test/CodeGen/PowerPC/addegluecrash.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/call.ll |
 | llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-br.ll |
 | llvm/test/CodeGen/Mips/Fast-ISel/memtest1.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_split_because_of_memsize_or_align.ll |
 | llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fptosi_and_fptoui.ll |
 | llvm/test/CodeGen/PowerPC/aix-overflow-toc.py |
 | llvm/test/CodeGen/X86/pr32284.ll |
 | llvm/test/CodeGen/Hexagon/vect/vect-load-v4i16.ll |
 | llvm/test/DebugInfo/X86/reference-argument.ll |
 | llvm/test/CodeGen/Mips/msa/ldr_str.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/select.ll |
 | llvm/test/CodeGen/Thumb2/high-reg-spill.mir |
 | llvm/test/CodeGen/X86/pr44749.ll |
 | llvm/test/CodeGen/AArch64/unwind-preserved-from-mir.mir |
 | llvm/test/CodeGen/Mips/implicit-sret.ll |
 | llvm/test/CodeGen/X86/2009-04-14-IllegalRegs.ll |
 | llvm/test/CodeGen/AArch64/popcount.ll |
 | llvm/test/DebugInfo/Mips/delay-slot.ll |
 | llvm/test/CodeGen/AArch64/fast-isel-cmpxchg.ll |
 | llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll |
 | llvm/test/CodeGen/AMDGPU/spill-m0.ll |
 | llvm/test/CodeGen/X86/2010-06-28-FastAllocTiedOperand.ll |
 | llvm/test/CodeGen/AArch64/br-cond-not-merge.ll |
 | llvm/test/CodeGen/Mips/atomic.ll |
 | llvm/test/CodeGen/ARM/fast-isel-ldr-str-thumb-neg-index.ll |
 | llvm/test/CodeGen/ARM/legalize-bitcast.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/branch-targets.ll |
 | llvm/test/CodeGen/X86/stack-protector-msvc.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_4_unaligned.ll |
 | lldb/test/Shell/SymbolFile/NativePDB/disassembly.cpp |
 | llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll |
 | llvm/test/CodeGen/X86/pr47000.ll |
 | llvm/test/CodeGen/SystemZ/swift-return.ll |
 | llvm/test/DebugInfo/X86/prologue-stack.ll |
 | llvm/test/CodeGen/X86/fast-isel-nontemporal.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm.ll |
 | llvm/test/CodeGen/X86/pr32484.ll |
 | llvm/test/CodeGen/X86/fast-isel-select.ll |
 | llvm/test/CodeGen/AMDGPU/wwm-reserved.ll |
 | llvm/test/CodeGen/ARM/crash-greedy-v6.ll |
Commit
a66fca44ac926b25820f0e9344db1947d966291b
by Matthew.ArsenaultRegAllocFast: Add extra DBG_VALUE for live out spills
This allows LiveDebugValues to insert the proper DBG_VALUEs in live out blocks if a spill is inserted before the use of a register. Previously, this would see the register use as the last DBG_VALUE, even though the stack slot should be treated as the live out value.
This avoids an lldb test regression when D52010 is re-applied.
|
 | llvm/test/DebugInfo/X86/fission-ranges.ll |
 | llvm/test/DebugInfo/X86/op_deref.ll |
 | llvm/test/DebugInfo/X86/subreg.ll |
 | llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir |
 | llvm/lib/CodeGen/RegAllocFast.cpp |
 | llvm/test/DebugInfo/X86/parameters.ll |
 | llvm/test/DebugInfo/X86/sret.ll |
Commit
d93459992e559e774e7b14208e5bd8bf27a58280
by Matthew.ArsenaultLiveDebugValues: Fix typos and indentation
|
 | llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp |
Commit
5aa1119537fe6569b54d0da4d9d649a6940decff
by Matthew.ArsenaultGlobalISel: Assert if MoreElements uses a non-vector type
|
 | llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp |
Commit
2ef73025afda6481625b74eb99cdbc2eb1cfef95
by llvm-dev[InstCombine] Remove %tmp variable names from bswap-fold tests
Appease update_test_checks script that was complaining about potential %TMP clashes
|
 | llvm/test/Transforms/InstCombine/bswap-fold.ll |
Commit
3a7487f903e2a6be29de39058eee2372e30798d5
by Xiangling.Liao[FE] Use preferred alignment instead of ABI alignment for complete object when applicable
On some targets, preferred alignment is larger than ABI alignment in some cases. For example, on AIX we have special power alignment rules which would cause that. Previously, to support those cases, we added a “PreferredAlignment” field in the `RecordLayout` to store the AIX special alignment values in “PreferredAlignment” as the community suggested.
However, that patch alone is not enough. There are places in the Clang where `PreferredAlignment` should have been used instead of ABI-specified alignment. This patch is aimed at fixing those spots.
Differential Revision: https://reviews.llvm.org/D86790
|
 | clang/test/CodeGenCXX/aix-alignment.cpp |
 | clang/test/CodeGen/aix-alignment.c |
 | clang/lib/CodeGen/CGExprCXX.cpp |
 | clang/lib/CodeGen/TargetInfo.cpp |
 | clang/lib/CodeGen/ItaniumCXXABI.cpp |
 | clang/include/clang/AST/ASTContext.h |
 | clang/lib/AST/ASTContext.cpp |
Commit
892fdc923f06adbef507ebe594fa7b48224d93f0
by ravishankarm[mlir][Linalg] Generalize the logic to compute reassociation maps while folding tensor_reshape op.
While folding reshapes that introduce unit extent dims, the logic to compute the reassociation maps can be generalized to handle some corner cases, for example, when the folded shape still has unit-extent dims but corresponds to folded unit extent dims of the expanded shape.
Differential Revision: https://reviews.llvm.org/D88521
|
 | mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp |
Commit
b85de2c69cf3d6fbc2ad3439a6224667a58f704c
by llvm-dev[InstCombine] Add bswap(trunc(bswap(x))) -> trunc(lshr(x, c)) vector tests
Add tests showing failure to correctly fold vector bswap(trunc(bswap(x))) intrinsic patterns
|
 | llvm/test/Transforms/InstCombine/bswap-fold.ll |
Commit
323d08e50a7bb80786dc00a8ade6ae49e1358393
by llvm-dev[InstCombine] Fix bswap(trunc(bswap(x))) -> trunc(lshr(x, c)) vector support
Use getScalarSizeInBits not getPrimitiveSizeInBits to determine the shift value at the element level.
|
 | llvm/test/Transforms/InstCombine/bswap-fold.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
Commit
2c394bd4071d32000e2eed0f7d90fe7c576d7050
by benny.kra[PowerPC] Avoid unused variable warning in Release builds
PPCFrameLowering.cpp:632:8: warning: unused variable 'isAIXABI' [-Wunused-variable]
|
 | llvm/lib/Target/PowerPC/PPCFrameLowering.cpp |
Commit
052c5bf40a9fc9ffe1bb2669763d8a0d2dea2b2e
by zarko[PPC] Do not emit extswsli in 32BIT mode when using -mcpu=pwr9
It looks like in some circumstances when compiling with `-mcpu=pwr9` we create an EXTSWSLI node when which causes llc to fail. No such error occurs in pwr8 or lower.
This occurs in 32BIT AIX and BE Linux. the cause seems to be that the default return in combineSHL is to create an EXTSWSLI node. Adding a check for whether we are in PPC64 before that fixes the issue.
Reviewed By: #powerpc, nemanjai
Differential Revision: https://reviews.llvm.org/D87046
|
 | llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
f425418fc4ebd989c6c3d59d20e7fe37cb29259c
by llvm-dev[InstCombine] Add tests for 'partial' bswap patterns
As mentioned on PR47191, if we're bswap'ing some bytes and the zero'ing the remainder we can perform this as a bswap+mask which helps us match 'partial' bswaps as a first step towards folding into a more complex bswap pattern.
|
 | llvm/test/Transforms/InstCombine/bswap.ll |
Commit
d6de40f8865e2c016731f9b63d8a0a218ce1b74f
by mtrofin[NFC][regalloc] Make VirtRegAuxInfo part of allocator state
All the state of VRAI is allocator-wide, so we can avoid creating it every time we need it. In addition, the normalization function is allocator-specific. In a next change, we can simplify that design in favor of just having it as a virtual member.
Differential Revision: https://reviews.llvm.org/D88499
|
 | llvm/lib/CodeGen/RegAllocBasic.cpp |
 | llvm/lib/CodeGen/RegAllocGreedy.cpp |
 | llvm/include/llvm/CodeGen/CalcSpillWeights.h |
 | llvm/lib/CodeGen/CalcSpillWeights.cpp |
 | llvm/lib/CodeGen/RegAllocPBQP.cpp |
Commit
05ae04c396519cca9ef50d3b9cafb0cd9c87d1d7
by simon.moll[DA][SDA] SyncDependenceAnalysis re-write
This patch achieves two things: 1. It breaks up the `join_blocks` interface between the SDA to the DA to return two separate sets for divergent loops exits and divergent, disjoint path joins. 2. It updates the SDA algorithm to run in O(n) time and improves the precision on divergent loop exits.
This fixes `https://bugs.llvm.org/show_bug.cgi?id=46372` (by virtue of the improved `join_blocks` interface) and revealed an imprecise expected result in the `Analysis/DivergenceAnalysis/AMDGPU/hidden_loopdiverge.ll` test.
Reviewed By: sameerds
Differential Revision: https://reviews.llvm.org/D84413
|
 | llvm/test/Analysis/DivergenceAnalysis/AMDGPU/trivial-join-at-loop-exit.ll |
 | llvm/lib/Analysis/DivergenceAnalysis.cpp |
 | llvm/lib/Analysis/SyncDependenceAnalysis.cpp |
 | llvm/test/Analysis/DivergenceAnalysis/AMDGPU/hidden_loopdiverge.ll |
 | llvm/include/llvm/Analysis/DivergenceAnalysis.h |
 | llvm/include/llvm/Analysis/SyncDependenceAnalysis.h |
Commit
1034262e0a38f0bd755e68aa41b6bb856ebd2eb8
by jam[VE] Support TargetBlockAddress
Change to handle TargetBlockAddress and add a regression test for it.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D88576
|
 | llvm/lib/Target/VE/VEMCInstLower.cpp |
 | llvm/lib/Target/VE/VEInstrInfo.td |
 | llvm/test/CodeGen/VE/blockaddress.ll |
Commit
4fbd83c716dbc1d68e0aac5d71d201b664762489
by aeubanks[ObjCARCAA][NewPM] Add already ported objc-arc-aa to PassRegistry.def
Also add missing AnalysisKey definition.
|
 | llvm/lib/Passes/PassRegistry.def |
 | llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Transforms/ObjCARC/gvn.ll |
Commit
dd4fb7c8cfe394a3290bd19a1eac03435472ccfa
by clementval[mlir][openacc] Remove -allow-unregistred-dialect from ops and invalid tests
Switch to a dummy op in the test dialect so we can remove the -allow-unregistred-dialect on ops.mlir and invalid.mlir. Change after comment on D88272.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D88587
|
 | mlir/test/Dialect/OpenACC/ops.mlir |
 | mlir/test/Dialect/OpenACC/invalid.mlir |
Commit
4fcd1a8e6528ca42fe656f2745e15d2b7f5de495
by vyng[llvm-exegesis] Add option to check the hardware support for a given feature before benchmarking.
This is mostly for the benefit of the LBR latency mode. Right now, it performs no checking. If this is run on non-supported hardware, it will produce all zeroes for latency.
Differential Revision: https://reviews.llvm.org/D85254
|
 | llvm/tools/llvm-exegesis/lib/Target.h |
 | llvm/test/tools/llvm-exegesis/X86/lbr/lit.local.cfg |
 | llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp |
 | llvm/tools/llvm-exegesis/lib/X86/X86Counter.h |
 | llvm/tools/llvm-exegesis/llvm-exegesis.cpp |
 | llvm/tools/llvm-exegesis/lib/X86/Target.cpp |
Commit
719ab7309eb7b7b5d802273b0f1871d6cdb965b1
by peterscudo: Make it thread-safe to set some runtime configuration flags.
Move some of the flags previously in Options, as well as the UseMemoryTagging flag previously in the primary allocator, into an atomic variable so that it can be updated while other threads are running. Relaxed accesses are used because we only have the requirement that the other threads see the new value eventually.
The code is set up so that the variable is generally loaded once per allocation function call with the exception of some rarely used code such as error handlers. The flag bits can generally stay in a register during the execution of the allocation function which means that they can be branched on with minimal overhead (e.g. TBZ on aarch64).
Differential Revision: https://reviews.llvm.org/D88523
|
 | compiler-rt/lib/scudo/standalone/combined.h |
 | compiler-rt/lib/scudo/standalone/options.h |
 | compiler-rt/lib/scudo/standalone/primary64.h |
 | compiler-rt/lib/scudo/standalone/primary32.h |
 | compiler-rt/lib/scudo/standalone/atomic_helpers.h |
 | compiler-rt/lib/scudo/standalone/wrappers_c.inc |
Commit
2ab87702231e193ca170aa8ad4caa9f98bc7ced1
by aeubanks[test][SampleProfile][NewPM] Fix some tests under NPM
|
 | llvm/test/Transforms/SampleProfile/calls.ll |
 | llvm/test/Transforms/SampleProfile/fnptr.ll |
 | llvm/test/Transforms/SampleProfile/offset.ll |
 | llvm/test/Transforms/SampleProfile/remap.ll |
 | llvm/test/Transforms/SampleProfile/propagate.ll |
 | llvm/test/Transforms/SampleProfile/branch.ll |
 | llvm/test/Transforms/SampleProfile/discriminator.ll |
Commit
73fb9698c0573778787e77a8ffa57e7fa3caebd4
by ro[asan][test] Several Posix/unpoison-alternate-stack.cpp fixes
`Posix/unpoison-alternate-stack.cpp` currently `FAIL`s on Solaris/i386. Some of the problems are generic:
- `clang` warns compiling the testcase:
compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp:83:7: warning: nested designators are a C99 extension [-Wc99-designator] .sa_sigaction = signalHandler, ^~~~~~~~~~~~~ compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp:84:7: warning: ISO C++ requires field designators to be specified in declaration order; field '_funcptr' will be initialized after field 'sa_flags' [-Wreorder-init-list] .sa_flags = SA_SIGINFO | SA_NODEFER | SA_ONSTACK, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
and some more instances. This can all easily be avoided by initializing each field separately.
- The test `SEGV`s in `__asan_memcpy`. The default Solaris/i386 stack size is only 4 kB, while `__asan_memcpy` tries to allocate either 5436 (32-bit) or 10688 bytes (64-bit) on the stack. This patch avoids this by requiring at least 16 kB stack size.
- Even without `-fsanitize=address` I get an assertion failure:
Assertion failed: !isOnSignalStack(), file compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp, line 117
The fundamental problem with this testcase is that `longjmp` from a signal handler is highly unportable; XPG7 strongly warns against it and it is thus unspecified which stack is used when `longjmp`ing from a signal handler running on an alternative stack.
So I'm `XFAIL`ing this testcase on Solaris.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Differential Revision: https://reviews.llvm.org/D88501
|
 | compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp |
Commit
8d8cb1ad80b7074ac60d070fae89261894d34a0d
by dancgr[AArch64] Avoid pairing loads when the base reg is modified
When pairing loads, we should check if in between the two loads the base register has been modified. If that is the case then avoid pairing them because the second load actually loads from a different address.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D86956
|
 | llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp |
 | llvm/test/CodeGen/AArch64/aarch64-ldst-modified-baseReg.mir |