Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NewGVN] Miscompile with equal instructions modulo attributes #53218

Closed
nunoplopes opened this issue Jan 15, 2022 · 7 comments · Fixed by #67426
Closed

[NewGVN] Miscompile with equal instructions modulo attributes #53218

nunoplopes opened this issue Jan 15, 2022 · 7 comments · Fixed by #67426
Labels
llvm:GVN GVN and NewGVN stages (Global value numbering) llvm:optimizations miscompilation

Comments

@nunoplopes
Copy link
Member

NewGVN miscompiles the following function:

@glb = external global i64, align 8

define i64 @src(i64 %tmp) {
  %conv3 = shl nuw i64 %tmp, 32
  store i64 %conv3, i64* @glb, align 8
  %sext = shl i64 %tmp, 32
  %r = lshr exact i64 %sext, 32
  ret i64 %r
}

define i64 @tgt(i64 %tmp) {
  %conv3 = shl i64 %tmp, 32
  store i64 %conv3, i64* @glb, align 8
  ret i64 %tmp
}

NewGVN hashes instructions ignoring attributes like 'nuw', so it assumes that conv3 and sext above are equivalent. But then it uses %conv3 as the leader, and then it calls InstSimplify with shl nuw & lshr extract and bug!

Test case from @regehr.
cc @alinas

@nunoplopes
Copy link
Member Author

Another instance of the same bug. This one is more serious because it takes the inbounds attribute from a non-dominating BB.

define i1 @src(i32* %dst) {
entry:
  %dst.5 = getelementptr i32, i32* %dst, i64 5
  %dst.5.uge = icmp uge i32* %dst.5, %dst
  br i1 %dst.5.uge, label %then, label %else

then:
  %dst.6 = getelementptr i32, i32* %dst, i64 6
  %c.dst.6.uge = icmp uge i32* %dst.6, %dst
  ret i1 %c.dst.6.uge

else:
  %else.dst.6 = getelementptr inbounds i32, i32* %dst, i64 6
  %else.dst.6.uge = icmp uge i32* %else.dst.6, %dst
  ret i1 %else.dst.6.uge
}


define i1 @tgt(i32* %dst) {
  %dst.5 = getelementptr i32, i32* %dst, i64 5
  %dst.5.uge = icmp uge i32* %dst.5, %dst
  br i1 %dst.5.uge, label %then, label %else

then:
  ret i1 true

else:
  ret i1 true
}

https://llvm.godbolt.org/z/P79dGGszE

@nunoplopes
Copy link
Member Author

Another one:

define void @src(i8 %start, i8 %high) {
  %start1 = add nsw i8 %start, 4
  %t1 = icmp ult i8 %start1, %high
  call void @use(i1 %t1)

  %start2 = add i8 %start, 4
  %t2 = icmp ult i8 %start2, %high
  call void @use(i1 %t2)
  ret void
}


define void @tgt(i8 %start, i8 %high) {
  %start1 = add nsw i8 %start, 4
  %t1 = icmp ult i8 %start1, %high
  call void @use(i1 %t1)
  call void @use(i1 %t1)
  ret void
}

declare void @use(i1)

@fhahn
Copy link
Contributor

fhahn commented Jan 18, 2022

cc @fhahn

@nunoplopes
Copy link
Member Author

InstSimplify has most rewrites that use nsw/nuw/exact attributes guarded by Q.IIQ.UseInstrInf && .... NewGVN sets that flag to false, so those rewrites don't kick in.
I see 5 rewrites that miss that check. Fixing those would only fix the first example though (where nuw from the leader is used). But it wouldn't fix the other 2 examples.
So I propose we get rid of this hack of UseInstrInf. It doesn't solve the root cause.

I guess the v1 fix would be to simply include the nsw/nuw/exact attributes in the GVN expression. Then we can work out if some selecting merging of classes by dropping attributes makes sense. Or some other heuristic.

@nunoplopes
Copy link
Member Author

NewGVN does intercept the attributes when replacing an instruction with the leader. But it doesn't do that recursively. So it doesn't get the 3rd example, where t1/t2 are equal, except for their first operand that differs in nsw.
If we don't consider 'add' and 'add nsw' equivalent the problem is solved. Another way is to intercept attributes recursively. I would go with separate classes for v1.

@regehr
Copy link
Contributor

regehr commented May 2, 2022

here's a testcase for this bug that I like even better than the other ones:

@f = external global i64, align 8

define i64 @src(i64 %tmp) {
entry:
  %conv3 = shl nuw i64 %tmp, 32
  store i64 %conv3, i64* @f, align 8
  %sext = shl i64 %tmp, 32
  %0 = lshr i64 %sext, 32
  ret i64 %0
}

define i64 @tgt(i64 %tmp) {
entry:
  %conv3 = shl i64 %tmp, 32
  store i64 %conv3, i64* @f, align 8
  ret i64 %tmp
}

src(0x0000000100000000) -> 0
but
tgt(x0000000100000000) -> x0000000100000000

@jayfoad jayfoad added the llvm:GVN GVN and NewGVN stages (Global value numbering) label Jul 12, 2022
@nunoplopes nunoplopes reopened this Jul 26, 2023
eymay pushed a commit to eymay/llvm-project that referenced this issue Jul 28, 2023
Regenerate some test checks in  preparation for a patch that
fixes llvm#53218.
razmser pushed a commit to razmser/llvm-project that referenced this issue Sep 8, 2023
Regenerate some test checks in  preparation for a patch that
fixes llvm#53218.
nikic added a commit that referenced this issue Sep 26, 2023
nikic added a commit that referenced this issue Sep 26, 2023
Some folds using m_NUW, m_NSW style matchers were missed, make
sure they respect UseInstrInfo.

This is part of #53218, but not a complete fix for the issue.
nikic added a commit that referenced this issue Sep 26, 2023
nikic added a commit to nikic/llvm-project that referenced this issue Sep 26, 2023
When removing an instruction, we still need to merge its IR flags
into the leader, because there may have been a transitive use.

Fixes llvm#53218.
@nikic
Copy link
Contributor

nikic commented Sep 26, 2023

I've fixed the obvious UseInstrInfo holes and put up #67426 to fix the other issue that Nuno found. I think the core problem is that we end up not doing the "patch replacement instructions" if an instruction gets removed. That's why we miss up on flag updates if there is some transitive use and the intermediate instruction is dropped.

@nikic nikic closed this as completed in 8e353fb Sep 28, 2023
legrosbuffle pushed a commit to legrosbuffle/llvm-project that referenced this issue Sep 29, 2023
legrosbuffle pushed a commit to legrosbuffle/llvm-project that referenced this issue Sep 29, 2023
When removing an instruction, we still need to merge its IR flags
into the leader, because there may have been a transitive use.

Fixes llvm#53218.
fadlyas07 pushed a commit to greenforce-project/llvm-project that referenced this issue Sep 30, 2023
* llvm-project/main:
  [C API] Fix LLVMGetOrdering/LLVMIsAtomicSingleThread for fence/memory instrs (llvm#65228)
  [RISCV][MC][test] Test for current behaviour around default FP rounding modes
  [clang] Remove uses of llvm::Type::getPointerTo() (NFC)
  [llvm] Remove uses of Type::getPointerTo() (NFC)
  [AArch64] Add a target feature for AArch64StorePairSuppress
  [BOLT][NFC] Run ADRRelaxationPass in parallel (llvm#67831)
  [BOLT][NFC] Hide pass print options (llvm#67718)
  [clang-format][NFC] Don't call startsSequence() in the parser
  [clang-format][NFC] Simplify the UnwrappedLine constructor
  [X86]Remove X86-specific dead code in ScheduleDAGRRList.cpp (llvm#67629)
  [Passes] Use llvm::any_cast instead of any_cast (NFC)
  [clang][Interp] Zero-init remaining string literal elements (llvm#66862)
  [gn build] Port 4ae5157
  Introduce paged vector (llvm#66430)
  [InstSimplify] Use cast instead of dyn_cast+assert. NFC
  [mlir][spirv] Implement missing validation rules for ptr variables (llvm#67871)
  [ORC] Fix heap-use-after-free error in MachODebugObjectSynthesizer.cpp
  [lldb] Fix failures when evaluating C++ expression and loading modules
  Revert "[mlir][memref] Fix offset update in emulating narrow type for strided memref (llvm#67714)"
  [mlir] Fix bytecode reading of resource sections
  [NFC] Replace uses of Type::getPointerTo
  [mlgo] fix test post llvm#67826
  [AsmPrint] Correctly factor function entry count when dumping MBB frequencies (llvm#67826)
  [MLIR] Add stage to side effect
  [mlir][llvm] Add a indirect call builder for CallOp (NFC)
  [libc] Correct 'memrchr' definition and re-enable on GPU (llvm#67850)
  [HWASAN]Implement memcmp interceptor in HWASAN (llvm#67204)
  [mlir][NFC] Fix comment explaining ConverVectorLoad (llvm#67864)
  [libc] Fix `nanosleep` definition in the posix spec (llvm#67855)
  Modify BoundsSan to improve debuggability (llvm#65972)
  [Clang][test][VE] Correct bad test in 1e00423
  [mlir][ROCDL] Fix file leak in SeralizeToHsaco and its newer form (llvm#67711)
  [libunwind] Fix a -Wextra-semi warning
  Revert "[IR]Add NumSrcElts param to is..Mask static function in ShuffleVectorInst."
  [asan] Ensure __asan_register_elf_globals is called in COMDAT asan.module_ctor (llvm#67745)
  [Sema] add cast from IncompleteArrayType to ConstantArrayType in TryReferenceListInitialization (llvm#65918)
  [llvm-readtapi] Add symlink to call `readtapi` (llvm#67748)
  [lldb][NFCI] Remove unneeded use of ConstString from StructuredDataDarwinLog
  Revert llvm#67745 "[asan] Ensure __asan_register_elf_globals is called in COMDAT asan.module_ctor (llvm#67745)"
  [clang] Support fixed point types in C++ (llvm#67750)
  Revert "[OpenMP] Introduce the initial support for OpenMP kernel language (llvm#66844)"
  Revert "[NFC][Clang][OpenMP] Fix the test issue of incompatible pointer size"
  [IR]Add NumSrcElts param to is..Mask static function in ShuffleVectorInst.
  [-Wunsafe-buffer-usage] Extract the included part in tests to separate header files
  [CodeGen] Don't treat thread local globals as large data (llvm#67764)
  [StaticAnalyzer] Remove isShiftOverflow and isLeftShiftResultUnrepresentable
  [SystemZ/zOS/GOFF] Restrict GOFF test to SystemZ target
  [gn build] Port 3adc2a0
  [SystemZ/zOS/GOFF] Implement GOFF writer for empty files.
  [lldb][NFCI] Remove unused constructors from BreakpointName
  [clang-format] Handle __attribute/__declspec/AttributeMacro consistently (llvm#67518)
  [NFC][Clang][OpenMP] Fix the test issue of incompatible pointer size
  [clang] set DebugCompilationDir in PCHContainer (llvm#67744)
  [libc][NFC] Adjust the `libc` init / fini array test
  [analyzer] Remove inaccurate legacy handling of bad bitwise shifts (llvm#66647)
  [libc][Obvious] Do not pass 'nolibc' and other flags to the GPU build
  [mlir][Linalg] Fix SoftmaxOp's reify result shape calculation (llvm#67790)
  [asan] Ensure __asan_register_elf_globals is called in COMDAT asan.module_ctor (llvm#67745)
  [test] -march -> -mtriple (llvm#67741)
  [lldb] Add windows support for LLDB_EXPORT_ALL_SYMBOLS (llvm#67628)
  [clang] NFCI: Use `FileEntryRef` in `SourceManager::getMemoryBufferForFileOr{None,Fake}()`
  [StandardInstrumentations] Ignore VerifierPass/PrintModulePass when printing IR (llvm#67730)
  [test] Change llc -march=aarch64|arm64 to -mtriple=aarch64|arm64
  [clang] Fix a crash from nested ArrayInitLoopExpr (llvm#67722)
  [OpenMP] Introduce the initial support for OpenMP kernel language (llvm#66844)
  [lldb] Fix build after 2da8f30
  [mlir][SME] Re-order patterns alphabetically (nfc)
  [RISC-V] Remove unnecessary VLA
  [OpenMP] Fix a potential memory buffer overflow (llvm#67252)
  [mlir][SME][nfc] Clarify the usage of insertion guard (llvm#67668)
  [libc] Fix unused variable in fputc test (llvm#67830)
  [clang] NFCI: Use `FileEntryRef` in `SourceManager::overrideFileContents()`
  [AArch64] Fixes for BigEndian 128bit volatile, atomic and non-temporal loads/stores
  [ISel] Fix another crash in new FMA DAG combine (llvm#67818)
  [AArch64] Fix FMV ifunc resolver usage on old Android APIs. Rename internal compiler-rt FMV functions.
  Remove unused #include
  [clang] NFCI: Use `FileEntryRef` in `ASTReader::GetHeaderFileInfo()`
  Add option to dump IR to files instead of stderr (llvm#66412)
  [RISC-V] Add RISC-V ABI plugin
  Remove 'vectorizers' label from PR labeler (llvm#67810)
  [AArch64][SME2][SVE2p1] Add PNR_3b regclass (llvm#67785)
  [clang] NFCI: Use `FileEntryRef` in `SourceManager::FileInfos` (llvm#67742)
  [RISCV] Add test coverage for sum reduction recognition in DAG
  [SLP]Improve costs in computeExtractCost() to avoid crash after D158449.
  [clang][Interp][NFC] Remove unneeded Source.h includes
  Fix issue labeler applying incorrect label for libc++abi issues (llvm#67811)
  [mlir][vector] Prevent incorrect vector.transfer_{read|write} hoisting (llvm#66930)
  [NFC] Fix typo in CodeGenerator.rst
  [libcxx] <experimental/simd> Add _LIBCPP_HIDE_FROM_ABI to internal br… (llvm#66977)
  Reapply "[libc++][ranges] Add benchmarks for the `from_range` constructors of `vector` and `deque`." (llvm#67753)
  [ci] Diff against main when determining what files have changed for pre-commit CI (llvm#67743)
  [AIX][PowerPC] Teach the Threading Library About the Number of Physical Cores on AIX (llvm#67683)
  [LV][NFC] Move and add truncated-related FindLastIV reduction test cases. (llvm#67674)
  [C++20] [Modules] Generate init calls for the modules imported in GMF or PMF
  [LowerTypeTests] Regenerate test checks (NFC)
  [mlir][transform] Improve error message when file not found.
  [AMDGPU] Add GFX11.5 s_singleuse_vdst instruction (llvm#67536)
  [NFC] [C++20] [Modules] Rename NamedModuleHasInit to NamedModuleHasInit
  [InstCombine] Don't simplify `icmp eq/ne OneUse(A ^ Cst1), Cst2` in foldICmpEquality
  [libc++] Implement `std::condition_variable_any::wait[_for/until]` overloads that take `stop_token`
  [gn] port 7ddf7d8 and b251897 (LLVMOrcDebugging)
  [InstCombine] Fix infinite loop in llvm#67273
  Revert "[DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)"
  Revert "[clang analysis][thread-safety] Handle return-by-reference...… (llvm#67795)
  Remove unsed parameter; NFC
  [clang analysis][thread-safety] Handle return-by-reference... (llvm#67776)
  [ObjCopy] Fix warning in conditional expression [NFC]
  [IRBuilder] Migrate most casts to folding API
  [clang][Interp][NFC] Enable SemaCXX/constexpr-many-arguments test
  [AMDGPU] Fix -Wunused-function in GCNDPPCombine.cpp (NFC)
  [Coroutines] Remove unused variable [NFC]
  [AMDGPU] Src1 of VOP3 DPP instructions can be SGPR on supported subtargets (llvm#67461)
  [ValueTracking] Avoid use of ConstantExpr::getCast()
  [ConstantFolding] Avoid some uses of ConstantExpr::getCast()
  [AArch64][SME] Use PNR Reg classes for predicate constraint (llvm#67606)
  [mlir][ArmSME] Add arm_sme.move_tile_slice_to_vector op (llvm#67652)
  [InstCombine] Avoid uses of ConstantExpr::getCast()
  [X86] combine-subo.ll - add common CHECK prefix
  [X86] combine-addo.ll - add common CHECK prefix
  [Analysis] Fix gcc warnings about unused variables [NFC]
  [llvm] Use more explicit cast methods (NFC)
  [SanitizerCoverage] Avoid use of ConstantExpr::getCast() (NFC)
  [JumpThreading] Avoid use of ConstantExpr::getCast()
  [clang-format] Don't align ctors and dtors with other functions (llvm#67618)
  [AttributorAttributes] Remove unused variable [NFC]
  [mlir][Affine][NFC] Define AffineForOp operands in ODS (llvm#67694)
  [Clang][VE] Correct rpath handling on VE (llvm#67671)
  Revert "[SLP]Improve costs in computeExtractCost() to avoid crash after D158449."
  [SCEV] Remove unnecessary cast code (NFC)
  [SCEVExpander] Remove unused variable [NFC]
  Reland "[clang analysis][NFCI] Preparatory work for D153131. (llvm#67420)… (llvm#67775)
  [AArch64] Fix a compiler crash in MachineSink (llvm#67705)
  [InstSimplify] Avoid use of ConstantExpr::getCast()
  [InstCombine] Avoid use of ConstantExpr::getZExtOrBitcast() (NFC)
  [clang][Interp] Three-way comparisons (llvm#65901)
  [AArch64] Don't expand RSHRN intrinsics to add+srl+trunc.
  [bazel] Add missing deps.
  [Clang][NFC] Fix sphinx documentation
  [DwarfDebug] Add forward declarations of "<" operators [NFC]
  [bazel] Add build rules for new target added in 7ddf7d8
  [flang] zero initialized all saved values without initial values (llvm#67693)
  Reland [NVPTX] Add support for maxclusterrank in launch_bounds (llvm#66496) (llvm#67667)
  [AMDGPU] Introduce AMDGPU::SGPR_SPILL asm comment flag (llvm#67091)
  [MLIR][LLVM] Drop unsupported DISubranges while importing (llvm#67712)
  [clang][Interp][NFC] Add a failing test case for ArrayInitLoopExprs
  [ORC] Add JITLink to dependencies of OrcDebugging.
  Re-apply "[ORC] Add N_SO and N_OSO stabs entries to MachO debug..." with fixes.
  [flang] Split flang/test/Lower/math-lowering.f90. (llvm#67600)
  Revert "[GlobalISel] LegalizationArtifactCombiner: Elide redundant G_AND"
  [clang] Fix -Wunused-variable in ASTContext.cpp (NFC)
  [clang] implement common sugared type of inst-dependent DecltypeType (llvm#67739)
  [GlobalISel] LegalizationArtifactCombiner: Elide redundant G_AND
  [MLIR][Vector] Allow non-default memory spaces in gather/scatter lowerings (llvm#67500)
  [ORC] Add DWARFContext generation from LinkGraphs, use in perf support.
  [Inliner] Fix bug when propagating poison generating return attributes
  [Inliner] Add some additional tests for progagating attributes before inlining; NFC
  [clang] NFCI: Use `FileEntryRef` in `SourceManager::setFileIsTransient()`
  [clang] NFCI: Use `FileEntryRef` in additional module maps
  Recommit "Implement [[msvc::no_unique_address]] (llvm#65675)" (llvm#67199)
  [flang] Fix a typo
  [flang] Fix an unused variable warning
  [flang][runtime] Establish derived type desc properly. (llvm#67623)
  [libc][math] Implement double precision expm1 function correctly rounded for all  rounding modes. (llvm#67048)
  [flang][openacc] Use bounds information in reduction recipe combiner (llvm#67719)
  [scudo] Update header without read-modify-write operation (llvm#66955)
  [clang][modules] Use `FileEntryRef` in `ModuleMap` (2/2)
  [clang][modules] Use `FileEntryRef` in `ModuleMap` (1/2)
  [mlir][sparse][gpu] protect BSR method with cuda 12.1 (llvm#67728)
  [AMDGPU] Fix typo in scheduler option name (llvm#67661)
  [clang][hexagon] Add support for -nolibc (llvm#67515)
  [OpenMP] Enable the 'libc/malloc.c' test on NVPTX
  [flang][openacc] Support assumed shape arrays in private recipe (llvm#67701)
  [mlir][memref] Fix offset update in emulating narrow type for strided memref (llvm#67714)
  [hwasan] Replace &LI with *LI, to fix build breakage
  [MemCpyOptimizer] Support scalable vectors in performStackMoveO… (llvm#67632)
  [Clang] Fix crash when visting a fold expression in a default argument (llvm#67514)
  [lldb][NFCI] Move functionality for getting unsupported DW_FORM values (llvm#67579)
  [gtest] Disable new posix::FOpen Windows implementation for now
  [clang-format] Disable OuterScope lambda indentation behaviour for constructor initializers (llvm#66755)
  [compiler-rt][asan][Fuchsia] Tune the 64-bit asan allocator for riscv+fuchsia
  Revert "[IR]Add NumSrcElts param to is..Mask static function in ShuffleVectorInst."
  [InstCombine] Canonicalize `and(zext(A), B)` into `select A, B & 1, 0` (llvm#66740)
  [mlir][sparse][gpu] add CSC to libgen GPU sparsification using cuSparse (llvm#67713)
  [DAGCombiner] Combine `(select c, (and X, 1), 0)` -> `(and (zext c), X)`
  [X86][AArch64][RISCV] Add tests for combining `(select c, (and X, 1), 0)` -> `(and (zext c), X)`; NFC
  [Basic] Support 64-bit x86 target for UEFI
  [Modules] Add a flag to control builtin headers being in system modules
  [libc++][NFC] Remove spurious check for is-constant-evaluated
  [IR]Add NumSrcElts param to is..Mask static function in ShuffleVectorInst.
  [mlir][sparse] rename sparse_tensor.(un)pack to sparse_tensor.(dis)as… (llvm#67717)
  [ValueTracking] Simplify uaddo pattern (llvm#65910)
  [BOLT] Update for rename of MemLifetimePolicy in e994f84.
  [clang][Parse][NFC] Remove dead if statement
  [clang][Parse][NFC] Make ParseOpenMPAttributeArgs() AttrName const
  [ORC] Rename MemLifetimePolicy to MemLifetime.
  [mlir][SCF] Bufferize scf.index_switch (llvm#67666)
  [bazel] fix bazel for (D152457) (llvm#67706)
  [Flang] [OpenMP] [Semantics] Add semantic support for IS_DEVICE_PTR nd HAS_DEVICE_ADDR clauses on  OMP TARGET directive and add more semantic checks for OMP TARGET. (llvm#67290)
  [BOLT] Report JITLink errors appropriately (llvm#67633)
  [AArch64][Win] Emit SEH instructions for the swift async context-related instructions in the prologue and the epilogue. (llvm#66967)
  [SLP]Improve costs in computeExtractCost() to avoid crash after D158449.
  [clang][modules] Adopt `FileEntryRef` in the `HeaderFileInfo` block in PCM files (llvm#67383)
  [LinkerWrapper] Correctly handle multiple image wrappers (llvm#67679)
  [UnitTest] Attempt to fix link to DataLayoutTest_UEFI_Test
  [hwasan] Update (Post-)DominatorTreeAnalysis and LoopAnalysis incrementally (llvm#66935)
  Revert "[Basic] Support 64-bit x86 target for UEFI"
  [NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto
  [flang] Fix symbol on module subroutine name with same name as generic (llvm#67678)
  [Clang][NFC] Add tests for llvm#56071
  Matrix: remove self-include [NFC]
  [OpenMP] Add OutlineableOpenMPOpInterface trait to TargetOp
  [flang][openacc] Support assumed shape arrays in reduction (llvm#67610)
  [C++20] [Modules] Don't generate call to an imported module that dont init anything (llvm#67638)
  [InlineAsm] add comments for NumOperands and ConstraintType (llvm#67474)
  [InstCombine] Avoid use of ConstantExpr::getZExt() (NFC)
  [ConstantFolding] Avoid use of ConstantExpr::getZExt() (NFC)
  [flang][lowering] Move PDT TODO before length param type lowering (llvm#67650)
  [InstCombine] Avoid some uses of ConstantExpr::getZExt() (NFC)
  [libc] Fix wrapper headers for some ctype macros and C++ decls
  [CodeGen] Avoid use of ConstantExpr::getZExt() (NFC)
  [mlir][AMDGPU] Add packed 8-bit float conversion ops and lowering
  Fix release/export.sh to export runtimes tarball, too (llvm#67404)
  [MLIR][OpenMP] Fix mistyped syntax in test omptarget-region-parallel-llvm.mlir test
  [mlir][transform] Update transform.loop.peel (reland llvm#67482)
  [scudo] Use MemMap in BufferPool and RegionPageMap (llvm#66788)
  [TypePromotion] Avoid use of ConstantExpr::getZExt() (NFC)
  [X86FastISel] Avoid ConstantExpr::getZExt() (NFC)
  [PPCBoolRetToInt] Avoid use of ConstantExpr::getZExt() (NFC)
  [clangd][CodeComplete] Improve FunctionCanBeCall
  [InstCombine] Avoid some uses of ConstantExpr::getZExt() (NFC)
  [LowerTypeTests] Use IRBuilder instead of ConstantExpr (NFC)
  [dsymutil] Don't redundantly copy input file again in test
  [ARM] Make some test checks more robust
  [mlir][SME] Fix unused variable warning
  [SCEV] Remove zext/sext from BuildConstantForSCEV
  [SCEV] Work on APInt instead of ConstantExpr (NFC)
  [LV][NFC] Remove unnecessary parameter attributes from the test cases. (llvm#67630)
  [libc++][NFC] Simplify checks for static assertions in .verify.cpp tests (llvm#67559)
  [libc++] Refactor the tests for [iterator.range] (llvm#67496)
  [Bitcode] Support expanding constant expressions in function metadata
  [libc++] Add regression test for llvm#67449 (llvm#67590)
  Revert oricmp tests
  [AArch64] Fixup test for G_VECREDUCE_ADD
  [clang][dataflow] Show triangle in `<details>` element (llvm#67655)
  [mlir][SME] Add vector.splat -> SME conversion (llvm#67659)
  [ADT] Fix llvm::join on containers of char*s (llvm#67113)
  [VectorCombine] Check for non-byte-sized element type
  [VectorCombine] Add tests for llvm#67060 (NFC)
  [SPARC] Add a missing SPARC64-LABEL check
  [AMDGPU] Make a check slightly more robust
  [mlir][vector] don't emit non-rank 1 masked load and store (llvm#67656)
  [LLDB] Skip TestTlsGlobals.py for Linux Arm/AArch64
  [AArch64][GlobalISel] More type support for G_VECREDUCE_ADD (llvm#67433)
  [clang][Parser][NFC] Fix a doc comment mishap
  [clang][Parser][NFC] Reformat if statement
  [mlir][vector] add result type to vector.extract assembly format (llvm#66499)
  [LoopUnroll] Add tests for excessive znver3 unrolls (NFC)
  [VPlan] Silence gcc Wparentheses warning [NFC]
  [mlir][ArmSME] Add support for vector.transfer_read with transpose (llvm#67527)
  [NewGVN] Patch replacement instruction even for removed instructions
  [RISCV] Fix crash when lowering fixed length insert_subvector into undef at 0 (llvm#67535)
  Revert "[mlir][bufferization] Don't clone on unknown ownership and verify function boundary ABI (llvm#66626)"
  Revert "[clang][dataflow] Show triangle in `<details>` element. (llvm#67431)"
  [libunwind][nfc] Avoid type warning of debug printf (llvm#67390)
  [BOLT] Fix .relr section addend patching
  [BOLT][AArch64] Fix CI alignment
  [clang][dataflow] Show triangle in `<details>` element. (llvm#67431)
  [flang][lowering] Fix clash between string literals of different kinds (llvm#67576)
  [mlir][bufferization] Don't clone on unknown ownership and verify function boundary ABI (llvm#66626)
  Disable call to fma for soft-float
  [clang][dataflow] Tweak styling of iteration tabs. (llvm#67637)
  [MemCpyOpt] Merge alias metadatas when replacing arguments (llvm#67539)
  Pre-commit some PowerPC test cases
  [MemCpyOpt] Add test for llvm#67539 (NFC)
  [CFI] Allow LoongArch (llvm#67314)
  [bazel] Fix build breakage after 315a407
  [LowerTypeTests] Add loongarch64 to CFI jumptables (llvm#67312)
  [bazel] Fix the build breakage after e705b37
  [Driver] Support -fsanitize=cfi-icall on loongarch64 (llvm#67310)
  [flang] Fix issues with STORAGE_SIZE and characters (llvm#67561)
  [Workflow] Update clang-format to 17.0.1 (llvm#67402)
  [MLIR][LLVM] Add vararg support in LLVM::CallOp and InvokeOp (llvm#67274)
  [Clang] Handle sema of noexcept condition in their evaluation context. (llvm#67538)
  [NFC] [C++20] [Modules] Refactor Module::getGlobalModuleFragment and Module::getPrivateModuleFragment
  [lldb][test] Fix TestCallBuiltinFunction.py
  [XCOFF] Do not generate the special .ref for zero-length sections (llvm#66805)
  [MachineLICM] Clear subregister kill flags (llvm#67240)
  [RISCV] Improve constant materialization by using a sequence that end… (llvm#66943)
  [clang-repl] Disable LSan in clang-repl.
  CGBuiltin: emit llvm.abs.* instead of neg+icmp+select for abs
  [RISCV][NFC] Move some common class/multiclass from riscv_vector.td to riscv_vector_common.td (llvm#67587)
  [Basic] Support 64-bit x86 target for UEFI
  [RISCV][NFC] Use NFList in NFSet (llvm#67517)
  [C++20] [Modules] Handle import decl before module declaration without being in GMF
  [RISCV,GISel] Add legalizer for G_ABS (llvm#67577)
  [RISCV] Use vwsll.vi/vx + vwaddu.wv to lower vector.interleave when Zvbb enabled. (llvm#67521)
  Fix a bug in handling ^C at the "y/n/a" completion prompt.
  Add missed Darwin/i386 for `withHostArch` (llvm#67617)
  [Driver][test] Fix hexagon-toolchain-elf.c
  [lld] Fix REQUIRES line in new test
  [mlir][sparse] Change tests to use new syntax for ELL and slice (llvm#67569)
  Recommit "Add a structured if operation (llvm#67234)"
  [clang-format] Fix requires misannotation with comma (llvm#65908)
  [Driver][test] Clean up hexagon-*
  [NFC][LLD] Refactor some copy-paste into the Common library (llvm#67598)
  [RISCV][GISel] Remove source constraint from selectCopy and use it fo… (llvm#67207)
  [lld/ELF][test] Add test for .got too far away for unrelaxed R_X86_64_(REX_)GOTPCRELX (llvm#67609)
  [llvm] Fix 32bit build after change to implement S_INLINEES debug symbol (llvm#67607)
  Revert "Add a structured if operation (llvm#67234)"
  Revert "[mlir][transform] Update transform.loop.peel (llvm#67482)"
  [OpenMP] Implicitly include the 'cgpu' and 'mgpu' libraries for OpenMP (llvm#67557)
  [llvm] Implement S_INLINEES debug symbol (llvm#67490)
  [gn build] Port 61b0f12
  [RISCV] Fix -Wsign-compare warning. NFC
  [NFC] Use const references to avoid copying objects in for-loops
  [FileCheck] Fix performance-for-range-copy issues. NFC
  llvm/tools: Fix some performance-for-range-copy issues. NFC
  Re-apply "[ORC][LLJIT] Move enable-debugger-support utility out of..."
  [bazel] fix bazel (llvm#67601)
  [clang-format] Correctly annotate keyword operator function name (llvm#66904)
  [TableGen][GISel] Add PtrValueTypeByHwMode to be able to vary … (llvm#67501)
  [clang-repl] Update FIXME based on feedback from @zero9178.
  [mlir][nfc] Add missing comment in a test
  MCPseudoProbe: don't copy std::list. NFC
  [mlir][transform] Update transform.loop.peel (llvm#67482)
  [TableGen] Optimize SizeToOperandName iteration. NFC
  Add a structured if operation (llvm#67234)
  [RISCV] Reduce LMUL when index is known when lowering insert_vector_elt (llvm#66087)
  [RISCV] Fix a crash from trying to truncate an FP type in lowerBuildV… (llvm#67488)
  [RISCV] Handle .vx pseudos in hasAllNBitUsers (llvm#67419)
  Revert "[test][clang-repl][Orc] Lsan report workaround"
  [clang-repl] Disable LSan in InterpreterExceptionTest.
  Revert "[clang-cl] Fix value of __FUNCTION__ and __FUNC__ in MSVC mode for c++. (llvm#66120)"
  Revert "[RISCV] Handle .vx pseudos in hasAllNBitUsers (llvm#67419)"
  [test][LSAN] Check if HWASAN is availibe before testing
  [test] Remove test added in llvm#67479 (llvm#67578)
  [gn build] Port e705b37
  [CodeLayout] Add unittest for cache-directed sort
  [flang] Do not propagate BIND(C) from main entry to ENTRY (llvm#67554)
  [Driver] Fix VFSGnuLibcxxPathNoSysroot test with DEFAULT_SYSROOT
  [RISCV] Handle .vx pseudos in hasAllNBitUsers (llvm#67419)
  [NFC] refactor demangle of llvm-nm (llvm#67481)
  Revert "[clang][SemaCXX] Diagnose tautological uses of consteval if and is_constant_evaluated"
  [NFC] Extend InjectTLIMappings pass testing (llvm#66898)
  [OpenMPOpt] Fix incorrect end-of-kernel barrier removal (llvm#65670)
  [mlir][sparse][gpu] add CSC and BSR format to cuSparse GPU ops (llvm#67509)
  [NFC][SPIRV] fix missing uppercase for var name (llvm#67438)
  [CostModel][X86] fround.ll - add <2 x float> test coverage
  [NFC][scudo] Fix "comparison of integers of different signs"
  [lldb] Implement thread local storage for linux (llvm#67470)
  [test] Mark test added in llvm#67479 as XFAIL
  [AArch64] update "rm" inline asm test (llvm#67472)
  [flang][runtime] Enable more code for offload device builds. (llvm#67489)
  [GlobalISel] Remove TargetLowering::isConstantUnsignedBitfieldExtractLegal
  [SLP]Cleanup MultiNodeScalars when tree deleted.
  [BOLT][RISCV] Implement R_RISCV_64 (llvm#67558)
  [X86]Add NO_REVERSE attribute to X86 RMW instrs in memfold table (llvm#67288)
  [scudo] Always express sizes in terms of element count in BufferPool (llvm#66896)
  Fix warning on align directives with non-zero fill value (llvm#67237)
  Revert "[AArch64] Enable "sink-and-fold" in MachineSink by default (llvm#67432)"
  [X86] Change target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2 (llvm#67410)
  [libc++] Don't add reference to system_category when exceptions disabled (llvm#67504)
  [mlir][bufferization] Make buffer deallocation pipeline op type independent (llvm#67546)
  [libc++] Refactor string unit tests to ease addition of new allocators
  [IR] Allow llvm.ptrmask of vectors (llvm#67434)
  [ObjectSizeOffsetVisitor] Bail after visiting 100 instructions (llvm#67479)
  [Passes] Add option for LoopVersioningLICM pass. (llvm#67107)
  [clang][Diagnostics] Make 'note' color CYAN (llvm#66997)
  [mlir][cfg-to-scf] Fix invalid transformation when value is used in a subregion (llvm#67544)
  [Flang][OpenMP] NFC: Version of a few tests with HLFIR
  CostModel/RISCV: tweak cost of vector ctpop under ZVBB (llvm#67020)
  [DWARFLinkerParallel] Add support of accelerator tables to DWARFLinkerParallel.
  [X86] IsNOT - fold PCMPGT(C, X) -> PCMPGT(X,C-1)
  [mlir][docgen] Display full attribute descriptions in expandable regions (llvm#67009)
  [LoopUnroll] Fold variable only used in assert into the assert
  CostModel/RISCV: tweak test for ctpop, with/without ZVBB (llvm#67013)
  [ConstraintElim] Handle trivial (ICMP_ULE, 0, B) in doesHold.
  [AMDGPU][True16] Support disassembling .h registers.
  [libcxx] [test] Use -fms-runtime-lib= for picking the CRT to use
  [mlir][transform] Fix crash when consuming an op in a named sequence (llvm#67437)
  [OPMIRBuilder] Fix typo in condition
  [RISCV][CostModel] Estimate cost of Extract/InsertElement with non-constant index when vector instructions are not available (llvm#67334)
  [AMDGPU] Test codegen'ing True16 additions.
  [LoopUnroll] Store more information in UnrollCostEstimator (NFCI)
  [ConstraintElim] Add A < B if A is an increasing phi for A != B.
  [AMDGPU][True16] Pre-commit addition tests.
  [LoopIterator] Add const qualifier to LoopInfo (NFC)
  [AArch64] Enable "sink-and-fold" in MachineSink by default (llvm#67432)
  Revert "[NVPTX] Add support for maxclusterrank in launch_bounds (llvm#66496)"
  [ScheduleDAG] Fix false assert target
  Fix MLIR parser to actually error out when hitting a parse error on TensorType encoding field
  [DSE] Only query object size for identified objects
  [mlir][linalg] Add `SubsetInsertionOpInterface` to `linalg.copy` (llvm#67524)
  [clang][dataflow] Remove buggy assertion. (llvm#67311)
  [InstCombine] Canonicalize phi order for newly inserted nodes
  Revert "[clang analysis][NFCI] Preparatory work for D153131. (llvm#67420)" (llvm#67523)
  [TableGen] Format !range doc
  [mlir][bufferization] OwnershipBasedBufferDeallocation fixes (llvm#67418)
  [mlir] Apply ClangTidy fix (NFC)
  [RISCV] Remove duplicate pattern in RISCVInstrInfoVPseudos.td (llvm#67436)
  [RISCV] Support select/merge like ops for fp16 vectors when only have Zvfhmin
  [NVPTX] Add support for maxclusterrank in launch_bounds (llvm#66496)
  [Flang][OpenMP] NFC: Versions of critical, master tests with HLFIR flow
  [mlir] Partial revert of 93c4229
  [sanitizer] Add another weak symbol llvm#67491
  [mlir][Interfaces] `LoopLikeOpInterface`: Add `replaceWithAdditionalYields` (llvm#67121)
  [NFCI][sanitizer] Return false on failure from Symbolizer
  [RISCV] Support fmaximum/fminimum for fp16 vector when only Zvfhmin enabled (llvm#67393)
  [test][HWASAN] Don't disable globals in test
  [HWASAN] Untag addresses in internal symbolizer
  [clang][NFC] Preprocessor only needs const LangOptions (llvm#66874)
  Revert "[sanitizer] Move signal blocking code into posix"
  [TableGen] Enhance !range bang operator (llvm#66489)
  [compiler-rt] Fix instrprof-darwin-exports test (llvm#67487)
  [clang-format] Split TT_AttributeParen (llvm#67396)
  Move AsmParser::parseTypeList() out-of-line (NFC)
  [RISCV] Promote SETCC and VP_SETCC of f16 vectors when only have zvfhmin (llvm#66866)
  [test][HWASAN] Fix test to run on aarch64
  [RISCV] Remove unused isSEWAware, NFC (llvm#67411)
  Don't dead-end asan_foo() entrypoints in the shim
  Revert "[Coverage] Allow Clang coverage to be used with debug info correlation."
  [sanitizer] Move signal blocking code into posix
  [clang][SemaCXX] Diagnose tautological uses of consteval if and is_constant_evaluated
  [gn] Add "-Wl,-U,___sanitizer_symbolize_demangle"
  [DFSan] Fix sscanf wrapper handling %*d (the star skips capturing). (llvm#67392)
  [UpdateTestChecks][llvm-mca] Use common.itertests in update_mca_test_checks (llvm#67477)
  workflows/pr-receive: Ignore draft pull requests (llvm#66578)
  [TargetLowering] fix index OOB (llvm#67494)
  [sanitizer] Implement __sanitizer_symbolize_frame (llvm#67491)
  [MLIR] Pass hostShared flag in gpu.alloc op to runtime wrappers (llvm#66401)
  [x86] precommit test conversion via update_llc_test_checks.py (llvm#67463)
  [lld-macho][NFC] Remove redundant checks (llvm#67450)
  [LLParser] Merge xor constantexpr parsing with add/mul/shl/lshr/ashr. (llvm#67371)
  Don't use LLVM_TABLEGEN_FLAGS with mlir-pdll: it's not a TableGen tool (llvm#67486)
  [clang-format] Fix a bug in NamespaceEndCommentsFixer (llvm#67422)
  [mlir][spirv][gpu] Default to KHR coop matrix. Clean up type conversion. (llvm#67485)
  [clang-format] Correctly annotate return type of function pointer (llvm#66893)
  [libc] Scan the ports more fairly in the RPC server (llvm#66680)
  [Libomptarget] Fix Nvidia offloading hanging on dataRetrieve using RPC (llvm#66817)
  [mlir][sparse] Generalize sparse encoding in check tests (llvm#67476)
  [DebugInfo] Change return type of DWARFDebugAbbrev::parse (llvm#67191)
  [mlir][TilingInterface] NFC code changes separated out from introduction of `scf::tileUsingSCFForallop`. (llvm#67081)
  [flang][openacc][hlfir] Add declare op in reduction recipe (llvm#67484)
  [mlir][sparse] update BSR specification (llvm#67480)
  [clang-tidy][NFC] Removing lefover AST dump()
  [libc] Change RPC opcode enum definition (llvm#67439)
  [sanitizer] Don't ignore Symbolizer errors (llvm#67466)
  [lld/mac] Resolve defined symbols before undefined symbols in bitcode (llvm#67445)
  [libc] Fix RPC server global after mass replace of __llvm_libc
  [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)
  [SLP]Do not gather node, if the instruction, that does not require scheduling, is previously vectorized.
  [mlir][tosa] Add scaffolding for bytecode version. (llvm#67374)
  [RISCV] Correct Zhinx load/store patterns to use AddrRegImm.
  [libc][NFC] Fix delete operator linkage names after switch to LIBC_NAMESPACE. (llvm#67475)
  Simplify diagnostic error management for MLIR properties API (NFC) (llvm#67409)
  UpdateTestChecks: squelch warning on SCEV output (llvm#67443)
  [RISCV] Autogenerate tests to add missing CHECK lines. NFC
  [flang][lowering] propagate location info of macro expansions (llvm#67446)
  [MLIR] Pass count of parameters & gpu binary size to runtime wrappers (llvm#66154)
  Revert "Diagnose problematic uses of constructor/destructor attribute (llvm#67360)"
  [X86] Move IsNOT helper after getTargetConstantBitsFromNode helper. NFC.
  [libc][Obvious] Remove the previous ErrnoSetterMatcher target. (llvm#67469)
  [NFC][sanitizer] Clang-format a file
  [ASan] return 0 for current allocated bytes if malloc/free are never happend (llvm#67394)
  [test][sanitizer] FileCheck internal_symbolizer.cpp test output (llvm#67460)
  [flang][openacc][hlfir] Add declare op in private recipe (llvm#67368)
  [bazel] fix bazel (llvm#67462)
  [RISCV] Disable constant hoisting for mul by one more/less than a pow… (llvm#67385)
  Diagnose problematic uses of constructor/destructor attribute (llvm#67360)
  Move test split-deadloop.mir that was added in e3d714f to AArch64 directory instead of ARM.
  [clang] Add -mlarge-data-threshold for x86_64 medium code model (llvm#66839)
  [Clang][HIP] Remove 'clangPostLink' from SDL handling (llvm#67366)
  [AMDGPU] Add gfx1150 test coverage in trans-forwarding-hazards.mir
  [NFC][sanitizer] Update comment in InternalSymbolizer::get
  [libc][NFC] Add compile options only to the header libraries which use them. (llvm#67447)
  [AArch64] A few extra rshrn intrinsic tests. NFC
  [mlir][ArmSME] Add custom vector.print lowering for SME tiles (llvm#66691)
  [BOLT][RISCV] Implement LO/HI relocations (llvm#67444)
  [RISCV] Update comment on -w stripping pass. NFC (llvm#67415)
  [AArch64] Bail out of HomogeneousPrologEpilog for functions with swif… (llvm#67417)
  [RA] Don't split a register generated from another split (llvm#67351)
  [RISCV] Explicitly create IMPLICIT_DEF instead of UNDEF for vectors i… (llvm#67369)
  [libc] Start to refactor riscv platform abstraction to support both 32 and 64 bits versions
  [Clang][ObjC] Add optionality to property attribute strings. (llvm#66507)
  [Flang][OpenMP] NFC: Create versions of declare-target tests with HLFIR
  [libc] Propagate printf config options from a single config header library. (llvm#66979)
  [llvm-cxxfilt] Do not consider the prefix dot as part of the demangled symbol name.
  [libc][NFC] Remove an inappropriate -ffreestanding arg to memory_utils test. (llvm#67435)
  [libc][Obvious] Fix incorrect filepath for ftell.h header
  [Flang][OpenMP] NFC: Move flush llvm lowering test to a separate file
  [Flang][OpenMP] NFC: Copy flush test to HLFIR lowering
  [clang] Fix pretty-printing assume_aligned attributes (llvm#67331)
  [RISCV] Transform build_vector((binop X_i, C_i)..) to binop (build_vector, build_vector) (llvm#67358)
  [Bitcode] Add some missing GetTypeByID failure checks
  [libc] Implement `fseek`, `fflush`, and `ftell` on the GPU (llvm#67160)
  [flang]: This is to fix the HLFIR path for PPC Vector type intrinsics. (llvm#66547)
  [AArch64] Handle scalable vectors in combineFMulOrFDivWithIntPow2.
  [SPIRV] Add OpAccessChain instruction support (llvm#66253)
  [libc++][lit] Allow overriding the executor for tests (llvm#66545)
  Revert "[libunwind] Relax a REQUIRES on a test that passes on FreeBSD"
  [AMDGPU] Fix passing CodeGen/AMDGPU/frem.ll on gfx1150. (llvm#67425)
  [mlir][python] Expose transform param types (llvm#67421)
  [mlir] adapt sm_90 integration test `mbarrier.group` (llvm#67423)
  [AMDGPU] Remove the support for non-True16 copies between different register sizes.
  [Flang][OpenMP][Driver][Test] Fix the omp-driver-offload-test commands (llvm#66926)
  [PowerPC] A fix for D159073. Do not optimize when register classes are different in src and dst.
  [MachineLICM] Handle Subloops
  [ELF] A new code layout algorithm for function reordering [3a/3]
  [libc++] Use _Lazy in tuple constructors
  [AArch64] Limit immediate offsets when folding instructions into addressing modes (llvm#67345)
  [TargetLowering] use stable_sort to avoid nondeterminism
  [NewGVN] Add another test for llvm#53218 (NFC)
  [clang analysis][NFCI] Preparatory work for D153131. (llvm#67420)
  Reapply "[mlir][transform] Improve error message of tracking listener. (llvm#66987)"
  [AMDGPU] Rename disassembler test (NFC)
  [MLIR] Cleanup Pass Pipeline in sm_90 Integration Tests (llvm#67416)
  [Driver] Give warn_drv_include_probe_gch a dedicated flag
  [Flang][Driver][OpenMP][Test] Modify one omp-driver-offload.f90 command to not incorrectly expect a single output  (llvm#67335)
  [InstSimplify] Respect UseInstrInfo in more folds
  [NewGVN] Regenerate test checks (NFC)
  [NewGVN] Add test for llvm#53218 (NFC)
  [InstCombine] Canonicalize `icmp eq/ne (A ^ C), B` to `icmp eq/ne (A ^ B), C` (llvm#67273)
  [X86][FP16] Add missing handling for FP16 constrained cmp intrinsics (llvm#67400)
  [AMDGPU][True16] Support emitting copies between different register sizes.
  Revert "[SimplifyCFG] Transform for redirecting phis between unmergeable BB and SuccBB (llvm#67275)"
  [mlir][bufferization] LowerDeallocation: declare helper function private (llvm#67408)
  [X86] Add detection for more Tremont models (llvm#67150)
  Reland https://reviews.llvm.org/D159073.
  [AArch64] Additional testing for i128 and non-temporal loads/stores undef BE. NFC
  [libc] Mass replace enclosing namespace (llvm#67032)
  [MLIR] Introduce new C bindings to differentiate between discardable and inherent attributes (llvm#66332)
  Fix duplicate entry new-prs-labeler.yml
  [gn build] Port d85d143
  [AMDGPU] Remove int types from isSISrcFPOperand (llvm#67401)
  [scudo] Use MemMap for AllocationRingBuffer
  [AMDGPU] New image intrinsic optimizer pass (llvm#67151)
  [flang] Lower special bind(c) cases without binding labels (llvm#65758)
  [MemCpyOpt] move SrcAlloca to the entry if transformation is performed (llvm#67226)
  [MLIR] Correct Initial TMA Descriptor Values (llvm#67397)
  [mlir] cleanup of structured.tile* transform ops (llvm#67320)
  [clang][dataflow] Avoid putting an assertion in an `LLVM_DEBUG` block. (llvm#67313)
  [clang][dataflow] Remove declarations from `DeclToLoc` when their lifetime ends. (llvm#67300)
  [llvm][tblgen] Add `Source Filename` for `emitSourceFileHeader` (llvm#65744)
  Update new-prs-labeler.yml to fix MLIR affine and presburger subscription
  [clang-format][NFC] Minor cleanup of the parser and annotator
  [PowerPC] Add test to show wrong target flags printed at MO_TLSGDM_FLAG operand. NFC.
  [RISCV] Add searchable table for tune information (llvm#66193)
  [LoongArch] Improve codegen for i8/i16 'atomicrmw xchg a, {0,-1}'
  [LoongArch] Add test cases for atomicrmw xchg {0,-1} {i8,i16}
  Revert "[PowerPC][Peephole] Combine rldicl/rldicr and andi/andis after isel."
  Reformat
  [PowerPC][Peephole] Combine rldicl/rldicr and andi/andis after isel.
  [VectorCombine] Enable transform 'scalarizeLoadExtract' for non constant indexes (llvm#65445)
  [InstrProf] Correct buffer size for encodeULEB128 (llvm#67011)
  [RISCV] Fix the float value to test constantpool lowering under differe… (llvm#67297)
  [RISCV][GISel] Add RegBank selection for G_SMULH (llvm#67381)
  Revert "[SLP]Do not gather node, if the instruction, that does not require" (llvm#67386)
  [Driver] Move assertion check before checking Output.isFilename (llvm#67210)
  [lldb] [debugserver] Preserve signing bits on lr in debugserver (llvm#67384)
  [clang-analysis]Fix false positive in mutation check when using pointer to member function (llvm#66846)
  Don't specify the same flag twice.
  Add -fclang-abi-compat=latest to a bunch of tests for manglings that changed since v17.
  Enter the function parameter mangling scope for a function encoding before mangling the template argument list.
  [RISCV][GISel] Add instruction selection for G_SEXT, G_ZEXT, and G_SEXT_INREG (llvm#67359)
  [libunwind] Clarify comment added in llvm#67205
  [libc] Acquire the lock for scanf files (llvm#67357)
  [libc++] Remove the CI job testing Clang 15 (llvm#66406)
  [GlobalISel] Propagate mem operands for indexed load/stores.
  [NVPTX] Improve lowering of v2i16 logical ops. (llvm#67365)
  [libc++] Remove the libc++ specific clang-format job (llvm#67344)
  [aarch64][NFC] Remove unneeded work from machine memset (llvm#65672)
  [RISCV] Don't set KILL flag on X0 in RISCVInstrInfo::movImm.
  [LLParser] Remove unnecessary switch from the handling of the remaini… (llvm#67362)
  [lldb] Modify the DWARFDebugAbbrev interface to be closer to LLVM's (llvm#67190)
  [Clang] Fix CXXRewrittenBinaryOperator::getDecomposedForm to handle case when spaceship operator returns comparison category by reference (llvm#66270)
  [mlir][py] Enable AsmState overload for operation.
  [AMDGPU] Test disassembling of some basic True16 VOP2 instructions.
  [flang][hlfir] Make alias analysis trace through box designators. (llvm#67353)
  {RISCV] Adjust check lines to reduce duplication
  [hwasan] Fixing relocation R_AARCH64_CONDBR19 out of range (llvm#67354)
  [lldb] Protect RNBRemote from a data race
  Revert "[AMDGPU] Add [[maybe_unused]] to several unused functions (NFC)"
  [TableGen][NFCI] Speed up generating *GenRegisterInfo.inc files on builds with expensive checks. (llvm#67340)
  [AMDGPU] Add [[maybe_unused]] to several unused functions (NFC)
  [RISCV] Add test coverage for buildvec-of-binops
  PPCBranchCoalescing: Fix invalid branch weights (llvm#67211)
  [libc++][NFC] Qualify mention of va_list with std:: in documentation
  [AMDGPU] Switch to using real True16 operands.
  [Driver] Use addOptInFlag for some HIP options. NFC
  workflows/release-tasks: Setup FileCheck and not for release-lit (llvm#66799)
  [Driver] -include: deprecate probing .gch (llvm#67084)
  [mlir][Vector] Fix doc generation (llvm#67341)
  [flang] Finalize polymorphic alloctable component if needed (llvm#67326)
  [ELF] Change --call-graph-profile-sort to accept an argument
  [flang] Do not write implicit SAVE attribute into the mod file. (llvm#67215)
  [flang] Set SAVE attribute for EQUIVALENCEd symbols consistently. (llvm#67078)
  [AMDGPU] Add DAG ISel support for preloaded kernel arguments
  [ADT] Fix MappedIteratorTest. (llvm#67337)
  Add documentation for the constructor and destructor attributes
  Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFC.
  [libc] Change the `puts` implementation on the GPU (llvm#67189)
  [flang][runtime] Support non contiguous array in Finalize/Initialize (llvm#67295)
  [libc] Enable hermetic tests for the stdio test suite (llvm#67339)
  [libc++] Add missing files to ignore_format.txt
  [llvm-profdata] Move error handling logic out of normal input's code path (llvm#67177)
  Revert "[mlir][transform] Improve error message of tracking listener. (llvm#66987)"
  [AMDGPU] Add IR lowering changes for preloaded kernargs
  [TargetLowering] Deduplicate choosing InlineAsm constraint between ISels (llvm#67057)
  [AMDGPU][NFC] Add True16 operand definitions.
  [libunwind] Pass -Wl,--export-dynamic on all supported platforms (llvm#67205)
  [Sparc] Remove Subtarget member of SparcTargetMachine (llvm#66876)
  [clang][Interp] Fix compiling undefined templated functions (llvm#67232)
  [libc++] Refactor tests for std::pointer_traits (llvm#66645)
  [RISCV] Be more aggressive about shrinking constant build_vector etype (llvm#67175)
  [mlir][sparse] Treat high and 2OutOf4 as level formats (llvm#67203)
  Revert "[libc++][ranges] Add benchmarks for the `from_range` constructors of `vector` and `deque`."
  [mlir] Fix -Wunused-variable in TransformInterfaces.h (NFC)
  [BOLT] Implement '--assume-abi' option for AArch64
  [libc++] Make sure we forward stdin through executors (llvm#67064)
  [runtimes] Bump the supported AppleClang version to AppleClang 15 (llvm#67065)
  [Driver] Remove FreeBSD/riscv32 support (llvm#67277)
  [mlir][transform] Check for invalidated iterators on payload values (llvm#66472)
  [mlir] emit better errors in transform.structured.interchange (llvm#67315)
  [cmake] Add LLVM_FORCE_VC_REVISION option (llvm#67125)
  Add support for MLIR to llvm vscale attribute (llvm#67012)
  LoopVectorize/iv-select-cmp: comment out-of-bound tests (NFC)
  [AArch64] Remove unused method EncodePPR_p8to15
  [mlir][nvgpu] Better doc for `warpgroup.mma` (nfc) (llvm#67321)
  [AArch64][GlobalISel] Vector Constant Materialization
  [VPlan] Add active-lane-mask as VPlan-to-VPlan transformation.
  LoopVectorize/iv-select-cmp: add test for decreasing IV out-of-bound
  [Documentation] Replace recommonmark by myst-parser (llvm#65664)
  [InstCombine] Add pre-commit tests for PR59555. NFC.
  [mlir][transform] Improve error message of tracking listener. (llvm#66987)
  [bazel] Port for eaf1590
  Revert "AMDGPU: Duplicate instead of COPY constants from VGPR to SGPR (llvm#66882)"
  [mlir][vector] proper masking support for contract lowering (llvm#67145)
  [TableGen] Fix wrong bits output in GenericTable (llvm#66867)
  [TableGen] Add tests to show wrong bits output in GenericTable
  AMDGPU: Duplicate instead of COPY constants from VGPR to SGPR (llvm#66882)
  [VPBuilder] Add setInsertPoint version taking a recipe directly (NFC).
  [mlir][ArmSME] Add support for vector.transpose (llvm#66760)
  [ASTMatchers] Fix classIsDerivedFrom for recusrive cases (llvm#67307)
  [PowerPC] Emit IR module flag for current float abi
  [MachineSink][AArch64] Sink instruction copies when they can replace copy into hard register or folded into addressing mode
  [Docs][Github] Say '--delete-branch' instead of '--delete' and '--delete branch'
  [RISCV][CostModel] Add getCFInstrCost RISC-V implementation (llvm#65599)
  [clang][CodeGen] Simplify code based on opaque pointers (llvm#65624)
  [mlir][llvm] Replace NullOp by ZeroOp (llvm#67183)
  [ARM][LSR] Exclude uses outside the loop when favoring postinc. (llvm#67090)
  [bazel] Port for 75a71c2
  [LLVM][TableGen] Read from uninitialised variable (llvm#66889)
  [AArch64][GlobalISel] Select UMULL instruction (llvm#65469)
  [mlir][ArmSME] Support vertical layout in load and store ops (llvm#66758)
  [bazel] Mor port for 24e33b5
  [flang] caller side BIND(C) INTENT(OUT) deallocation in HLFIR (llvm#67119)
  [obj2yaml] Emit ProgramHeader.Offset
  [bazel] Port for 24e33b5
  [MLIR][Transform] Fix PrintOp::build with StringRef (llvm#67052)
  [SPIRV] Implement support for SPV_KHR_expect_assume (llvm#66217)
  [mlir] add transform tutorial chapter for Halide conv mapping (llvm#66386)
  [Reland][InstCombine] Fold `icmp eq/ne min|max(X, Y), Z` (llvm#67087)
  [GlobalISel][NFC] Clean up and modernize the indexed load/store combines.
  [GlobalISel] Add wrapper classes for G_INDEXED_LOAD/G_INDEXED_STORE
  [MLIR][Presburger] Fix bug in PresburgerSpace::convertVarKind (llvm#67267)
  [llvm-readobj] Add support for the PT_OPENBSD_NOBTCFI segment type. (llvm#67239)
  [mlir] Implement DestinationStyleOpInterface for scf::ForallOp (llvm#66981)
  [CMake] Add VE cache file (llvm#65921)
  [MLIR][OpenACC][NFC] Make OpenACC dialect include absolute (llvm#67271)
  [RISCV] Support floating point VCIX (llvm#67094)
  [RISCV] Fix wrong offset use caused by missing the size of Zcmp push. (llvm#66613)
  Coroutines: Cleanup typed pointer code in CoroFrame.cpp. NFC
  [sanitizer] Add aarch64 symbols
  [clang-format] Fix a bug in aligning trailing comments (llvm#67221)
  [NFC][tsan] Use sizeof instead of ARRAY_SIZE
  [tsan] Reduce MapRodata frame size
  [libcxx] <experimental/simd> excluded long double for 32-bits x86 temporarily
  [clang-format][NFC] Remove the unused separateDefinitionBlocks()
  [SimplifyCFG] Transform for redirecting phis between unmergeable BB and SuccBB (llvm#67275)
  Revert "[InstCombine] Fold `icmp eq/ne min|max(X, Y), Z` (llvm#67087)"
  [clang][Sema] Make format size estimator aware of %p's existence in format string (llvm#65969)
  [clang-format] Fix an assertion failure in Whitespace Manager
  Remove unused clang::TargetInfo::adjustTargetOptions
  [clang-format][NFC] Clean up alignTrailingComments() (llvm#67218)
  [OMPIRBuilder] Added `createTeams` (llvm#66807)
  [VPlan] Simplify HCFG construction of region blocks (NFC).
  [InstCombine] Add pre-commit tests for PR65968. NFC.
  [Driver] Hook up NetBSD/riscv support (llvm#67256)
  [InstCombine] Fold `icmp eq/ne min|max(X, Y), Z` (llvm#67087)
  [llvm-cov] Properly fix -Wcovered-switch-default in CoverageMapping.cpp
  Fix assertion failure mangling an unresolved template argument that corresponds to a parameter pack.
  [InstCombine] Add conjugate part of pre-commit tests for PR57328. NFC.
  [InstCombine] Add more pre-commit tests for PR57328. NFC.
  [InstSimplify] Generalize fold for icmp ugt/ule (pow2 << X), signmask
  [InstCombine] Add pre-commit tests for PR57328. NFC.
  [Clang][CodeGen] Add __builtin_bcopy (llvm#67130)
  [GlobalISel][NFC] Remove unused method CombinerHelper::tryCombine()
  [EarlyCSE] Support CSE for commutative intrinsics with over 2 args (llvm#67255)
  [libcxx] Don't deallocate non-pointer data in string assignment. (llvm#67200)
  [DAG] getNode() - fold (zext (trunc x)) -> x iff the upper bits are known zero - add SRL support
  [AMDGPU] Add ISD::FSHR Handling to AMDGPUISD::PERM matching
  [InstCombine] Fold `(-1 + A) & B` into `A ? 0 : B` where A is effectively a bool
  [InstCombine] Add test cases from PR63321. NFC.
  [TableGen] Fix ordering of register classes. (llvm#67245)
  [clang][Interp][NFC] Clean up Context includes
  [clang][Interp][NFC] Clean up EvalEmitter includes
  [clang][Interp][NFC] Make a local variable const
  [clang][Interp][NFC] Use GetPtrThisField intead of two ops
  [llvm-exegesis] Remove unused using decls (NFC)
  [clangd] Remove unused using decls (NFC)
  [libunwind][nfc] avoid prototype warning (llvm#67250)
  [LLVM][OpenMP] Allow OpenMPOpt to handle non-OpenMP target regions (llvm#67075)
  Use llvm::find (NFC)
  [Support] Use llvm::bit_cast in getSwappedBytes (NFC)
  Reapply "[AMDGPU] Introduce real and keep fake True16 instructions."
  [Lex] Use llvm::byteswap instead of sys::getSwappedBytes (NFC)
  [Support] Use llvm::byteswap instead of sys::getSwappedBytes (NFC)
  [ProfileData] Use llvm::byteswap instead of sys::getSwappedBytes (NFC)
  [NVPTX] Test crash introduced by llvm#67073
  [BPF] Check jump and memory offsets to avoid truncation

Change-Id: I13a7d864256073b597cd03d60ea0ae1cea987ee4
Signed-off-by: greenforce-auto-merge <greenforce-auto-merge@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
llvm:GVN GVN and NewGVN stages (Global value numbering) llvm:optimizations miscompilation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants