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

[StackProtector] Do not emit the stack protector on GPU architectures #70799

Merged
merged 1 commit into from Oct 31, 2023

Conversation

jhuber6
Copy link
Contributor

@jhuber6 jhuber6 commented Oct 31, 2023

Summary:
This patch changes the code generation to not emit the stack protector
metadata on unsupported architectures. The issue was caused by system
toolchains emitting stack protector option by default which would lead
to errors when compiling for the GPU. I elected to change the code
generation as we may want to update this in the future so we should keep
the clang Driver code common. Although the user can use some
combination of -Xarch-device -fno-stack-protector to override this, it
is very irritating to do when we shouldn't emit this incompatible IR
anyway.

Fixes: #65911

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:codegen labels Oct 31, 2023
@llvmbot
Copy link
Collaborator

llvmbot commented Oct 31, 2023

@llvm/pr-subscribers-clang-codegen

@llvm/pr-subscribers-clang

Author: Joseph Huber (jhuber6)

Changes

Summary:
This patch changes the code generation to not emit the stack protector
metadata on unsupported architectures. The issue was caused by system
toolchains emitting stack protector option by default which would lead
to errors when compiling for the GPU. I elected to change the code
generation as we may want to update this in the future so we should keep
the clang Driver code common. Although the user can use some
combination of -Xarch-device -fno-stack-protector to override this, it
is very irritating to do when we shouldn't emit this incompatible IR
anyway.

Fixes: #65911


Full diff: https://github.com/llvm/llvm-project/pull/70799.diff

1 Files Affected:

  • (modified) clang/lib/CodeGen/CodeGenModule.cpp (+11-4)
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index b1a6683a66bd052..562f421aa2c36e8 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -761,6 +761,13 @@ static void setVisibilityFromDLLStorageClass(const clang::LangOptions &LO,
   }
 }
 
+static bool isStackProtectorOn(const LangOptions &LangOpts, const llvm::Triple &Triple,
+                               clang::LangOptions::StackProtectorMode Mode) {
+  if (Triple.isAMDGPU() || Triple.isNVPTX())
+    return false;
+  return LangOpts.getStackProtector() == Mode;
+}
+
 void CodeGenModule::Release() {
   Module *Primary = getContext().getCurrentNamedModule();
   if (CXX20ModuleInits && Primary && !Primary->isHeaderLikeModule())
@@ -2296,13 +2303,13 @@ void CodeGenModule::SetLLVMFunctionAttributesForDefinition(const Decl *D,
   if (D && D->hasAttr<NoStackProtectorAttr>())
     ; // Do nothing.
   else if (D && D->hasAttr<StrictGuardStackCheckAttr>() &&
-           LangOpts.getStackProtector() == LangOptions::SSPOn)
+           isStackProtectorOn(LangOpts, getTriple(), LangOptions::SSPOn))
     B.addAttribute(llvm::Attribute::StackProtectStrong);
-  else if (LangOpts.getStackProtector() == LangOptions::SSPOn)
+  else if (isStackProtectorOn(LangOpts, getTriple(), LangOptions::SSPOn))
     B.addAttribute(llvm::Attribute::StackProtect);
-  else if (LangOpts.getStackProtector() == LangOptions::SSPStrong)
+  else if (isStackProtectorOn(LangOpts, getTriple(), LangOptions::SSPStrong))
     B.addAttribute(llvm::Attribute::StackProtectStrong);
-  else if (LangOpts.getStackProtector() == LangOptions::SSPReq)
+  else if (isStackProtectorOn(LangOpts, getTriple(), LangOptions::SSPReq))
     B.addAttribute(llvm::Attribute::StackProtectReq);
 
   if (!D) {

Summary:
This patch changes the code generation to not emit the stack protector
metadata on unsupported architectures. The issue was caused by system
toolchains emitting stack protector option by default which would lead
to errors when compiling for the GPU. I elected to change the code
generation as we may want to update this in the future so we should keep
the `clang` Driver code common. Although the user can use some
combination of `-Xarch-device -fno-stack-protector` to override this, it
is very irritating to do when we shouldn't emit this incompatible IR
anyway.

Fixes: llvm#65911
Copy link

github-actions bot commented Oct 31, 2023

✅ With the latest revision this PR passed the C/C++ code formatter.

Copy link
Contributor

@shiltian shiltian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the changes make sense.

@jhuber6 jhuber6 merged commit b099709 into llvm:main Oct 31, 2023
3 checks passed
@efriedma-quic
Copy link
Collaborator

Is there some reason stack protectors don't make sense on GPU targets? Or is the issue just that the GPU targets in question don't have the necessary runtime support?

@jhuber6
Copy link
Contributor Author

jhuber6 commented Oct 31, 2023

Is there some reason stack protectors don't make sense on GPU targets? Or is the issue just that the GPU targets in question don't have the necessary runtime support?

It's more of the latter as GPUs don't really have much of a runtime. That's why I didn't want to completely filter this out at the driver level and instead made it more of a "TODO". However, I don't know if we'd really have much of a use for stack protectors. Maybe @arsenm could help explain that further.

fadlyas07 pushed a commit to greenforce-project/llvm-project that referenced this pull request Nov 4, 2023
* llvm-project/main:
  [ELF][test] Improve symver-non-default.s to test foo and foo@v1 combining for executable linking
  [DebugInfo] Use human-friendly printing for DWARF column attributes (llvm#71062)
  [MLIR] fix msan uninitialized value error (llvm#71286)
  [DAG] Don't fold (zext (bitop (load x), cst)) -> (bitop (zextload x), (zext cst)) if the zext is free
  [analyzer][NFC] Rework SVal kind representation (llvm#71039)
  [MLIR][Doc] Remove LLVM dialect typed pointer documentation (llvm#71246)
  [AArch64] Add fopcysign testing. NFC
  [MLIR][LLVM] Remove last typed pointer remnants from tests (llvm#71232)
  [AArch64][GlobalISel] Expand handling for fptosi and fptoui (llvm#70635)
  [clang][NFC] Refactor `ConstantExpr::ResultStorageKind`
  [analyzer] Fix assertion failure in `CXXInstanceCall::getCXXThisVal` (llvm#70837)
  [clang][NFC] Refactor `SourceLocExpr::IdentKind`
  [Github] Only run github actions on main monorepo (llvm#69774)
  [Github] Add flang docs to Github actions (llvm#70530)
  [clang][NFC] Annotate Expr-related headers with `preferred_type`
  [clang][NFC] Annotate 2 leftover bit-fields in `Type.h` with `preferred_type`
  [clang][NFC] Annotate DeclBase.h with `preferred_type`
  [mlir] Guard NVPTX backend initialization on it being configured (NFC)
  [MLIR][Mesh] Add sharding propagation pass (llvm#71261)
  [MemProf] Tolerate missing leaf debug frames (llvm#71233)
  [ELF] Refactor --version-script tests
  [mlir][affine] remove unnecessary semicolons (llvm#71199)
  [lldb] Move LocateExecutableSymbolFile to SymbolLocator plugin (llvm#71266)
  [LoongArch] Fix ABI mismatch with g++ when handling empty unions (llvm#71025)
  Attempt to fix test on Windows.
  [lldb] Move FindSymbolFileInBundle to SymbolLocator plugin (llvm#71247)
  Revert "[MLIR][Mesh] Add sharding propagation pass (llvm#69665)"
  [mlir] Fix -Wreturn-type in MeshOps.cpp (NFC)
  [RISCV] Remove experimental- prefix for smaia and ssaia. (llvm#71172)
  [mlir] Fix -Wunused-variable in ROCDL/Target.cpp (NFC)
  [MLIR][Mesh] Add sharding propagation pass (llvm#69665)
  [ELF][test] Improve internalize-exportdyn.ll
  [libc] Cleanup ErrnoSetterMatcher target (llvm#71240)
  [bazel] update utils/bazel/llvm_configs/llvm-config.h.cmake after 3fe69ba
  [mlir][c] Add mlirOperationPrintWithState
  Strip authentication bits from vtable load address (llvm#71128)
  [OpenMP] Guard Virtual Memory Management API and Types (llvm#70986)
  [mlir][sparse] update doc of sparse tensor storage-layout/descriptor (llvm#71249)
  Reapply [ELF] Making cdsort default for function reordering (llvm#68638)
  [Clang] Emit type metadata on vtables when IRPGO instrumentation option is on. (llvm#70841)
  [mlir] Fix unused variable warning. (NFC)
  [lldb] Convert LocateSymbolFile into a plugin (llvm#71151)
  [mlir] Expand default arg builders to wrapped attributes.
  [clang][MicrosoftCXXABI] Remove no-op ptr-to-ptr bitcasts (NFC)
  [clang-tidy][libc] Ignore implicit function inline (llvm#71095)
  [mlir][sparse] reformat SparseTensorCodegen file (llvm#71231)
  [TOSA] Update TOSA Custom Operator attribute names to align with the spec (llvm#71116)
  [MLIR][AMX] Remove llvm.ptr<i8> bitcasts from legalize for LLVM pass
  [HWASAN] Enable memcpy and memmove interceptors (llvm#71217)
  LegalizeVectorTypes: fix bug in widening of vec result in xrint (llvm#71198)
  [test][HWASAN] Force interceptors tests for memcmp and bcmp call interceptor (llvm#71215)
  [ELF] Improve undefined symbol message w/ DW_TAG_variable of the enclosing symbol but w/o line number information (llvm#70854)
  [BOLT][AArch64] Handle .plt.got section (llvm#71216)
  [ELF] Add getEnclosingSymbol for code sharing. NFC
  Refactor ModuleToObject to offer more flexibility to subclass (NFC)
  [MLIR][LLVM] Remove typed pointer remnants from target tests (llvm#71210)
  [MLIR][LLVM] Remove typed pointer remnants from integration tests (llvm#71208)
  Revert "Port Swift's merge function pass to llvm: merging functions that differ in constants (llvm#68235)"
  [dsymutil] Filter our swiftinterface files from the toolchain. (llvm#71205)
  [libc++][Android] Explicitly declare low-level lib existence (llvm#70534)
  [BPF] Skip modifiers for __builtin_btf_type_id() local type (llvm#71094)
  [CalcSpillWeights] don't mark live intervals with spillable inlineasm ops as having infinite spill weight (llvm#70747)
  [DFAJumpThreading] Remove incoming StartBlock from all phis when unfolding select (llvm#71082)
  [ADT] Make use of the endian.h header on OpenBSD (llvm#71144)
  [mlir][python] remove various caching mechanisms (llvm#70831)
  [Support] Use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.
  [IR] IntrinsicInst.cpp - use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.
  Revert "[IndVars] Generate zext nneg when locally obvious"
  [SelectionDAG] Add initial support for nneg flag on ISD::ZERO_EXTEND. (llvm#70872)
  Port Swift's merge function pass to llvm: merging functions that differ in constants (llvm#68235)
  [ELF] Enhance --no-allow-shlib-undefined to report non-exported definition (llvm#70769)
  [clang-doc] Fix a warning
  Improve llvm-config.h to record which target is configured or not (llvm#71164)
  [ELF] Improve --no-allow-shlib-undefined tests
  [TableGen] Use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.
  [indvars] Restructure getExtendedOperandRecurrence [nfc]
  [clang][NFC] Refactor `TagTypeKind` (llvm#71160)
  [SLP]Improve tryToGatherExtractElements by using per-register analysis.
  [OptBisect] Remove an unused method declaration. NFC (llvm#71145)
  [OpenMP][NFC] Remove a no-op function
  [X86] X86ISelLowering.cpp - use StringRef::starts_with/ends_with instead of startswith/endswith. NFC.
  [indvars] Support known positive extends in getExtendedOperandRecurrence (llvm#70990)
  [indvars] Add tests for countdown style loops w/nonnegative IVs
  [Mips] In LowerShift*Parts, xor with bits-1 instead of -1. (llvm#71149)
  [RISCV][GISel] Add helper to convert a LLT size to a RegisterBankInfo::ValueMapping* for FP. (llvm#71123)
  [InstrProf] Do not block functions from PGOUse (llvm#71106)
  [InlineAsm] Steal a bit to denote a register is foldable (llvm#70738)
  [lldb] Use get-task-allow entitlement on macOS too (llvm#71112)
  [IndVars] Generate zext nneg when locally obvious
  [RISCV] CSE by swapping conditional branches (llvm#71111)
  Regenerate a couple scev/indvars tests [nfc]
  [tests] Autogenerate a couple of tests
  [clang-tidy] Improve modernize-make-shared check (llvm#70600)
  [LLVM][AArch64] Add ASM constraints for reduced GPR register ranges. (llvm#70970)
  [orc][mach-o] Fix mixing objc and swift code in a single JITDylib (llvm#69258)
  [llvm][AArch64][Assembly]: Add SME_F8F16 and SME_F8F32 Ass/Disass. (llvm#70640)
  [ConstraintElim] Add tests that require (UGE, Variable, 0) info.
  [SCEV] Remove newline after predicates in dump
  [MemCpyOpt] Handle memcpy marked as memory(none)
  [lldb][NFC] Use UNUSED_IF_ASSERT_DISABLED instead of (void) cast
  [PatternMatch] Don't try to match sext/zext const exprs (NFCI)
  [NFC] [Serializer] Pack information in serializer (llvm#69287)
  [IR] Remove ZExtOperator (NFC)
  [AMDGPU] - Add s_wqm intrinsics (llvm#71048)
  [libc++] Remove legacy feature suse-linux-enterprise-server-11 (llvm#71103)
  [libc++][hardening] Add tests for the hardened mode with ABI breaks. (llvm#71020)
  [ConstraintElim] Add tests for additional SGT->UGT transfer.
  [ConstantFold] Remove redundant zero index gep fold (NFCI)
  [ConstantFold] Remove redundant bitcast icmp handling (NFCI)
  [ConstantFold] Remove redundant constantFoldCompareGlobalToNull() fold (NFCI)
  [LLVM][SVE] Move ADDVL isel patterns under UseScalarIncVL feature flag. (llvm#71173)
  [ConstantFold] Fix incorrect type assumptions
  [ConstantFold] Simplify evaluateICmpRelation() implementation (NFCI)
  [NFC][LLVM][SVE] Refactor predicate register ASM constraint parsing to use std::optional.
  [MLIR][LLVM] Remove typed pointer conversion utils (llvm#71169)
  [AArch64] Implement reinterpret builtins for SVE vector tuples (llvm#69598)
  Add openmp support to System z (llvm#66081)
  [ConstantFold] Remove handling for icmp of bitcast
  [ConstantFold] Remove handling for comparison of bitcasted global (NFCI)
  [ConstantFold] Don't mention irrelevant opcodes (NFCI)
  [ConstantFold] Remove unnecessarily complicated evaluateFCmpRelation() (NFCI)
  [ConstantFold] Remove redundant handling for casts of null (NFCI)
  Reapply [ConstantFold] Remove unnecessary BitCastConstantVector() (NFCI)
  [lldb] Fix TestVTableValue on 32 bit
  [ConstantFold] Add tests for vector bitcast of all ones (NFC)
  [flang][StackArrays] skip analysis of very large functions (llvm#71047)
  Revert "[ConstantFold] Remove unnecessary BitCastConstantVector() (NFCI)"
  [ConstantFold] Remove unnecessary cast of zero gep fold (NFCI)
  [mlir][ArmSME] Provide descriptions and summaries for intrinsic types (llvm#71057)
  [LV] Support recieps without underlying instr in collectPoisonGenRec.
  [MLIR][VectorToLLVM] Remove typed pointer support (llvm#71075)
  [NFC][OpenMP][Clang]Update OpenMP clang tests
  [ConstantFold] Remove unnecessary checks in FoldBitCast() (NFCI)
  [ConstantFold] Remove unnecessary BitCastConstantVector() (NFCI)
  Revert "Reapply [clang-repl] [test] Make an XFAIL more precise (llvm#70991)"
  [MLIR][MemRefToLLVM] Remove last typed pointer remnants (llvm#71113)
  Fix MSVC "not all control paths return a value" warnings. NFC.
  [IR] Remove zext and sext constant expressions (llvm#71040)
  Reapply [clang-repl] [test] Make an XFAIL more precise (llvm#70991)
  Reapply [InstCombine] Simplify and/or of icmp eq with op replacement (llvm#70335)
  [analyzer][NFC] Add a test case to PR 70792 for Issue 59493 and 54533 (llvm#71073)
  [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (llvm#68389)
  Revert D87067 "[llvm-symbolizer] Add back --use-symbol-table=true"
  [MLIR][FuncToLLVM] Remove typed pointers from call conversion test pass (llvm#71107)
  [clangd] Support `-specs` arguments when querying the driver. (llvm#70285)
  [llvm] Adjust files including llvm/Support/Endian.h (NFC)
  [TSAN] Add __tsan_check_no_mutexes_held helper (llvm#69372)
  CodeGen: Port ExpandLargeFpConvert to new PM (llvm#71027)
  [RISCV] Fix stale comments in lowerShift*Parts. NFC
  [LLDB][easy] Fix a bug in DummySyntheticFrontEnd (llvm#71143)
  [Modules] Fix ModuleDeclState transition when module is used as a regular identifier (llvm#71134)
  [NFC][RISCV] Fix failed test caused by llvm#71141
  [NFC][RISCV] Add `SiFive` prefix for XSfvfnrclipxfqf description (llvm#71141)
  [Support] Remove extraneous "using namespace llvm::support;" (NFC)
  [clang-format] Skip PP directives when determining brace kind (llvm#69473)
  [OpenMP] Add support for Solaris/x86_64 (llvm#70593)
  [RISCV] Support Xsfvfnrclipxfqf extensions (llvm#68297)
  [RISCV] Support Xsfvfwmaccqqq extensions (llvm#68296)
  [CodeGen][MIR] Support parsing of scalable vectors in MIR (llvm#70893)
  [RISCV] Fix wrong implication for zvknhb. (llvm#66860)
  Reland [SimplifyCFG] Delete the unnecessary range check for small mask operation (llvm#70542)
  [GISel] Make RegBank constructor constexpr. NFC (llvm#71109)
  [mlir][attrtypedef] Sort by def order in file. (llvm#71083)
  [GISel] Remove BitVector from RegBank. Use tablegen CoverageData tables directly. NFC (llvm#71105)
  Improvements to RS4GC BDV Algorithm (llvm#69795)
  [AArch64] Only clear kill flags if necessary when merging str (llvm#69680)
  [clang][SVE][NFC] Add -fclang-abi-compat=latest to the builtins tests.
  [GISel] Remove remainder of the concept of an invalid RegisterBank. (llvm#71118)
  [AMDGPU] Add documentation for scheduler intrinsics (llvm#69854)
  CodeGen: Port ExpandLargeDivRem to new pass manager (llvm#71022)
  [mlir][sparse] remove (some) deprecated dim/lvl methods (llvm#71125)
  [PowerPC] Change registers used in test due to ABI breakage. NFC. (llvm#70758)
  [flang][openmp] Fix `not yet implemented intrinsic` message for omp_lib (llvm#71101)
  [clang][CGExpr] Remove no-op ptr-to-ptr bitcasts (NFC)
  [OpenMP] Simplify parallel reductions (llvm#70983)
  [OpenMP] Provide a specialized team reduction for the common case (llvm#70766)
  Revert "[SLP]Improve tryToGatherExtractElements by using per-register analysis."
  [clang][deps] Skip slow `UNHASHED_CONTROL_BLOCK` records (llvm#69975)
  [lldb][windows] Allow exporting plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (llvm#71087)
  [OpenMP][FIX] Unbreak a fencing issue
  [RISCV] Add (i32 (and GPR:, TrailingOnesMask:)) pattern for RV64 with legal i32.
  [libc++][hardening] Clean up some legacy debug mode tests: (llvm#71016)
  [flang][openacc] Set extent to 0 when it is undefined (llvm#71108)
  [mlir][sparse] support sparse constant to BSR conversion. (llvm#71114)
  [lld][WebAssembly] Add --keep-section flag
  [gn build] Port 014390d
  [RISCV] Implement cross basic block VXRM write insertion. (llvm#70382)
  [clang-format] Treat empty for/while loops as short loops (llvm#70768)
  [Fuzzer] Enable custom libc++ for Android (llvm#70407)
  [X86][SDAG] Improve the lowering of `s|uitofp i8|i16 to half` (llvm#70834)
  [MLIR][LLVM] Remove last remants of use-opaque-pointers from tests (llvm#71076)
  Revert "[CaptureTracking] Ignore ephemeral values when determining po… (llvm#71066)
  [indvars] Add coverage for widening mul involving non-negative IV
  [libc] Allow hermetic timing if the `clock` function is built (llvm#71092)
  [mlir] Fix warnings
  [mlir][sparse] cleanup of enums header (llvm#71090)
  [indvars] Start building test coverage for widening non-negative IVs
  [BOLT] Rename cds to cdsort (llvm#69966)
  [AArch64] Fix a warning
  Fix more RISCV GISel tests using -march instead of -mtriple
  [CodeLayout] Pre-process execution counts before layout (llvm#70501)
  Revert "[AMDGPU] Generate wwm-reserved.ll (NFC)"
  AMDGPU/Docs: Memory model updates for GFX940, GFX941, GFX942 (llvm#71091)
  Rename hasCorrelation to __llvm_profile_has_correlation
  [instcombine] Drop zext nneg flag when simplify operand (llvm#71088)
  [mlir][tosa] Add verifier for tosa.tile, fix shape inference crash (llvm#70972)
  [lldb][split-dwarf] Add --errors-only argument separate-debug-info list (llvm#71000)
  [mlir][sparse] Cleanup sparse_tensor::LvlOp's folder (llvm#71085)
  [Driver][test] Fix dragonfly.c after llvm#69095
  [tests] Add coverage for demanded bits of zext nneg
  [SLP][NFC]Remove commented out code, NFC.
  [clang] Remove no-op ptr-to-ptr bitcasts (NFC)
  Revert "[DebugInfo][RemoveDIs] Add prototype storage classes for "new" debug-info"
  [SLP]Fix PR70507: freeze poisonous insts to avoid poison propagation.
  [lldb][docs] Update reference to test directory location (llvm#71081)
  [X86] X86FixupVectorConstantsPass - pull out the hasAVX2() test and use single ConvertToBroadcast call. NFC.
  [mlir][Linalg] Fix Linalg behavior in the context of vector elemental… (llvm#71041)
  [llvm][AArch64][Assembly]: Add LUT assembly/disassembly. (llvm#70802)
  [SLP][NFC]Add a test to show poison propagation in mixed (non)bool logical ops reduction, NFC.
  [clang][NFC] Refactor `clang::Linkage` (llvm#71049)
  [clang][NFC] Annotate `Type` bit-fields with `clang::preferred_type` (llvm#70349)
  [tsan] Increase size of shadow mappings for C/C++ on linux/x86_64 (llvm#70517)
  [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)
  [SelectionDAG] Adjust placement of blank lines in debug output. NFC (llvm#70969)
  [mlir][sparse] simplify some header code (llvm#70989)
  [X86] Add the second test case mentioned on Issue llvm#65895
  [lldb][AArch64] Read SME2's ZT0 register from Linux core files (llvm#70934)
  LegalizeIntegerTypes: implement PromoteIntRes for xrint (llvm#71055)
  [clang] Separate bit-field padding diagnostics into -Wpadded-bitfield (llvm#70978)
  [AArch64][Clang] Refactor code to emit SVE & SME builtins (llvm#70959)
  [flang][openacc] Fixed atomic capture with array/comp refs on the RHS. (llvm#71013)
  [ConstraintElim] Add missing check to make sure the bound is loop-invariant (llvm#70555)
  [Profile] Fix debug info correlation test failure on mac.
  [Flang][OpenMP] Port openmp threadprivate-use-association.f90 test to HLFIR flow (llvm#71043)
  [InstSimplify] Add additional test for llvm#70335 (NFC)
  [ARM] Fix for undef elements from demanded elements (llvm#70504)
  [DFAJumpThreading] Don't thread switch without multiple successors (llvm#71060)
  [Bazel][clang] Fix build for Upstream APINotesOptions
  [NFC] Fix int-compared-with-unsigned warnings
  [Flang][OpenMP] Support unstructured code in target data (llvm#71051)
  [Release] Build compiler-rt during Phase 1 on AIX  (llvm#70672)
  [DFAJumpThreading] Only unfold select coming from directly where it is defined (llvm#70966)
  [DebugInfo] Fix -Wunused-variable in DebugProgramInstruction.cpp (NFC)
  [ELF] Define NOMINMAX to fix zlib.h caused build failure on Windows (llvm#70368)
  [DebugInfo][RemoveDIs] Add prototype storage classes for "new" debug-info
  [LLVM][SVE] Clean VLS tests to not use wide vectors as function return types.
  Revert "Revert "[APINotes] Upstream APINotesOptions""
  [clang] Remove diagnostic that came with `[[clang::preferred_type]]` (llvm#70632)
  [NFC][clang-tidy]refactor isAssignmentToMemberOf in PreferMemberInitializerCheck (llvm#71006)
  [lld] Align EC code region boundaries. (llvm#69100)
  [Flang][OpenMP] Port openmp private clause tests to HLFIR flow (llvm#70783)
  [Flang][OpenMP] Port openmp default clause tests to HLFIR flow (llvm#70782)
  [Flang][OpenMP] Port openmp task tests to HLFIR flow (llvm#70781)
  [InstSimplify] Add extra tests for llvm#70335 (NFC)
  [AMDGPU] New ttracedata intrinsics (llvm#70235)
  [mlir][Bufferization] Add support for controlled bufferization of alloc_tensor (llvm#70957)
  [AMDGPU] Fix test for llvm#70532 (Implement moveToVALU for S_CSELECT_B64)
  [lldb][AArch64] Simplify handing of scalable registers using vg and svg (llvm#70914)
  [mlir][ArmSME] Propagate pad and mask in vector.transfer_read lowering (llvm#70814)
  [cmake] Add SerenityOS to config.guess
  [AMDGPU] Implement moveToVALU for S_CSELECT_B64 (llvm#70352)
  [LoopVectorize] Fix bug with code to hoist runtime checks (llvm#70937)
  [AMDGPU] - Add s_quadmask intrinsics (llvm#70804)
  [AMDGPU] Detect kills in register sets when trying to form V_CMPX instructions. (llvm#68293)
  [llvm] Add triple for SerenityOS
  [clang][analyzer] Restrict 'fopen' & 'tmpfile' modeling to POSIX versions in StreamChecker (llvm#70540)
  [MLIR][SCFToOpenMP] Remove typed pointer support (llvm#71028)
  [mlir][ArmSME] Provide descriptions and summaries for types (llvm#70920)
  [AMDGPU] Generate wwm-reserved.ll (NFC)
  Revert "[clang-repl] [test] Make an XFAIL more precise (llvm#70991)"
  [LSR] Avoid use of ConstantExpr::getCast() (NFC)
  [mlir][ArmSME] Add mask operand to store_tile_slice (llvm#70838)
  [C++20] [Modules] Warn if we found #include <filename> in module purview (llvm#69555)
  [SeparateConstOffsetFromGEP] Avoid use of ConstantExpr::getCast()
  [AMDGPU] Remove dom tree requirements from SIWholeQuadMode pass (llvm#71012)
  [clang-repl] [test] Make an XFAIL more precise (llvm#70991)
  [libc++] Fix another potentially flaky atomic test. (llvm#71011)
  X86: Move ExpandLargeFpConvert tests to test/Transforms
  [clang][analyzer]][NFC] Simplify method 'ensureStreamNonNull' of StreamChecker (llvm#70927)
  [MLIR][MemRefToLLVM] Remove typed pointer support (llvm#70909)
  [MLIR][NVGPUToNVVM] Remove typed pointer support (llvm#70867)
  [LoongArch] Pre-commit test for issue llvm#70890
  [llvm] Stop including llvm/Support/Endian.h (NFC)
  [Clang] Preserve coroutine parameter referenced state (llvm#70973)
  [NFC] Eliminate warnings in SourceLocationEncodingTest.cpp
  Revert "Move ExpandLargeDivRem to llvm/test/CodeGen/X86 because they need a triple"
  [ELF] adjustOutputSections: don't copy SHF_EXECINSTR when an output does not contain input sections (llvm#70911)
  [InstCombine] Fold `(ptrtoint (ptrmask p0, m0))` -> `(and (ptrtoint p0), m0)`
  [InstCombine] Preserve return attributes when merging `llvm.ptrmask`
  [InstCombine] Deduce `align` and `nonnull` return attributes for `llvm.ptrmask`
  [InstCombine] Implement `SimplifyDemandedBits` for `llvm.ptrmask`
  [InstCombine] Add tests for combining `llvm.ptrmask`; NFC
  [InstSimplify] Add some basic simplifications for `llvm.ptrmask`
  [InstSimplify] Add tests for simplify `llvm.ptrmask`; NFC
  [mlir] Use llvm::to_underlying (NFC)
  [mlir][spirv][cf] Check destination block argument types (llvm#70889)
  [CodeGen] Remove unused declaration getOverrideStackAlignment
  [GlobalISel][M68k] Update test after 373c343
  [mlir] Add support for vector.store sub-byte emulation. (llvm#70293)
  [build_symbolizer] Fix typo in 2c81d70
  [mlir][sparse] Implement rewriters to reinterpret maps on alloc_tenso… (llvm#70993)
  [flang] Support fir.boxchar in getTypeAsString (llvm#70997)
  Reland: [GlobalISel] LegalizationArtifactCombiner: Elide redundant G_AND
  [lldb] [debugserver] Shut down the exception thread when clearing (llvm#70979)
  [libc++] Remove availability annotations which can never be triggered (llvm#69226)
  [amdgpu][openmp] Treat missing TIMESTAMP_FREQUENCY as non-fatal (llvm#70987)
  [build_symbolizer] Introduce ZLIB_SRC to specify an on-disk location for (llvm#70994)
  Revert "Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (llvm#69676)"
  [MSVC][ASan] fix interface header (llvm#70992)
  [AMDGPU] GCNRegPressurePrinter pass to print GCNRegPressure values for testing. (llvm#70031)
  [llvm][PowerPC] Remove no-op ptr-to-ptr bitcasts (NFC)
  [libc++] Add a %{verify} substitution (llvm#70878)
  Add minor doc improvements (llvm#70984)
  [RISCV] Add RV64 i32 patterns for bseti/bclri/binvi.
  [CGBlocks] Remove no-op ptr-to-ptr bitcasts (NFC)
  Add support of the next Ubuntu (Ubuntu 24.04 - Noble Numbat)
  [flang][openacc] Only issue a warning when acc routine func is not found (llvm#70964)
  [Profile] Remove inline for hasCorrelation.
  [AMDGPU] Tweak handling of GlobalAddress operands in SI_PC_ADD_REL_OFFSET (llvm#70960)
  workflows: Unsplit pr-subscriber (llvm#69748)
  workflows/scorecard: Run this job once per day instead of for every push
  [RISCV] Teach RISCVOptWInstrs that 'bset x0, 30-0' satisfies isSignExtendingOpW.
  workflows: Unsplit new-prs (llvm#69560)
  [IPO] Remove unused function getAndUpdateAAFor (llvm#69544)
  [Attributor][FIX] Ensure new BBs are registered
  [mlir][sparse] Implement rewriters to reinterpret maps on foreach (llvm#70868)
  [AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (llvm#70178)
  Run DCE after a LoopFlatten test to reduce spurious output [nfc]
  [clang][modules] Don't prevent translation of FW_Private includes when explicitly building FW (llvm#70714)
  [bazel] add missing dependency to //clang:ast after 1c6c01f
  [openacc] Update acc.loop to expose data operands (llvm#70954)
  [RISCV] Don't promote i32 and/or/xor with -riscv-experimental-rv64-legal-i32.
  Revert "[APINotes] Upstream APINotesOptions"
  [Attributes][HLSL] Teach EnumArgument to refer to an external enum (llvm#70835)
  Increase git fetch depth (llvm#70946)
  [OpenMP][FIX] Do not add implicit argument to device Ctors and Dtors
  [Profile] Refactor profile correlation. (llvm#70856)
  AMDGPU/Docs: Add links to instruction descriptions for gfx941, gfx942 (llvm#70941)
  [OpenMP][FIX] Allocate per launch memory for GPU team reductions (llvm#70752)
  Add Scorecard Action (llvm#69933)
  [APINotes] Upstream APINotesOptions
  [SLP]Improve tryToGatherExtractElements by using per-register analysis.
  [SPIRV] Add -spirv option to DXC driver (llvm#65989)
  [mlir] Fix warnings about extra ';'
  [indvars] Regenerate a couple of auto-generated test cases [nfc]
  [llvm] Add comment and assert for CloneModule edge case (llvm#67734)
  [mlir][sparse] first end-to-end linalg.generic op on BSR (llvm#70880)
  [lld][NCF] Add missing llvm-mc invocation to arm64ec-codemap.test. (llvm#70956)
  [llvm][AArch64][Assembly]: Add FDOT2/FDOT4  assembly and disassembly. (llvm#70237)
  [clang][NFC] Rename ArgPassingKind to RecordArgPassingKind (llvm#70955)
  [RISCV] Add experimental support for making i32 a legal type on RV64 in SelectionDAG. (llvm#70357)
  [AArch64] Fix spillfill-sve.mir with expensive checks.
  [ELF][test] Improve flag propagation when an output section does not contain input sections
  [NFC][X86] Reorder the registers to reduce unnecessary iterations (llvm#70222)
  Revert "[AArch64][Clang] Refactor code to emit SVE & SME builtins (llvm#70662)"
  Revert "[SLP]Improve tryToGatherExtractElements by using per-register analysis."
  [AMDGPU] Simplify expandPostRAPseudo for SI_PC_ADD_REL_OFFSET. NFC.
  [ConstantFold] Avoid creating undesirable cast expressions
  [lld] Sort data chunks before code chunks on ARM64EC. (llvm#70722)
  [clang][NFC] Improve locality of recently refactored enums (llvm#70943)
  [SLP]Fix handling of -slp-vectorize-hor-store for values with many uses.
  [flang][openacc] Fixed bounds for full array sections. (llvm#70859)
  [X86] Regenerate test checks (NFC)
  [mlir][Vector] Add initial support for inlining in the presence of vector ops (llvm#70942)
  [SLP][NFC]Add the test shoing issue with -slp-vectorize-hor-store option, NFC.
  [AArch64][Clang] Refactor code to emit SVE & SME builtins (llvm#70662)
  [InstCombine] Avoid use of ConstantExpr::getSExtOrTrunc()
  [libc++] <experimental/simd> Add default constructor for class simd/simd_mask (llvm#70424)
  [SLP]Improve tryToGatherExtractElements by using per-register analysis.
  [libc++] Fix complexity guarantee in ranges::clamp (llvm#68413)
  [mlir][LLVM] Allow call_intrinsic to inline (llvm#70940)
  [clang] Remove no-op ptr-to-ptr bitcasts (NFC)
  [clang][NFC] Fix leftovers from `LinkageSpecDecl::LanguageIDs` refactoring
  [InstCombine] Fix canAlwaysEvaluateInTy() with constant exprs
  [Clang] Defer the instantiation of explicit-specifier until constraint checking completes (llvm#70548)
  [clang][NFC] Refactor `LinkageSpecDecl::LanguageIDs`
  Add two time-trace scope variables.
  [mlir][SCF] Add folding for IndexSwitchOp (llvm#70924)
  [llvm][AArch64][Assembly]: Add FP8FMA  assembly and disassembly. (llvm#70134)
  [LinkerWrapper] Add 'Freestanding' config to the LTO pass
  [lld] Implement getOutputCharacteristics for non-section code thunks. (llvm#70721)
  [InstCombine] Avoid use of ConstantExpr::getIntegerCast()
  [mlir][Transform] Relax the applicability of transform.foreach_match … (llvm#70209)
  [SLPVectorizer] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [AggressiveInstCombine] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [NVPTXAsmPrinter] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [NVPTXAsmPrinter] Extract common error handling code
  [docs][RISCV] List Zcmp and Zicbop as "Supported" rather than "Assembly support (llvm#68717)
  [AMDGPULowerKernelAttribute] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [lldb] Fix missing comsumeError() with LLDB_LOG in ObjectFileCOFF/PECOFF (llvm#70793)
  [AsmPrinter] Avoid use of ConstantExpr::getIntegerCast() (NFCI)
  [CGExprConstant] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [AArch64] Fix spilling/filling of virtual registers in PNR regclass. (llvm#70679)
  [SimplifyCFG] Avoid use of ConstantExpr::getIntegerCast() (NFC)
  [lldb][Symtab][NFCI] Replace vector::swap with shrink_to_fit (llvm#70918)
  Disable memtag sanitization for global fnptrs going into .ctors (llvm#70186)
  [InstCombine] Avoid some uses of ConstantExpr::getIntegerCast() (NFC)
  [lldb][AArch64] Add SME2's ZT0 register (llvm#70205)
  [clang][NFC] Refactor `ObjCMethodDecl::ImplementationControl`
  [X86] combineTruncateWithSat - relax minimum truncation size for PACKSS/PACKUS
  [clang][ASTImporter] Fix crash when template class static member imported to other translation unit. (llvm#68774)
  [ValueTracking] Avoid ConstantExpr::getIntegerCast()
  [InstSimplify] Avoid ConstantExpr::getIntegerCast() (NFCI)
  [ConstantFolding] Add ConstantFoldIntegerCast helper
  [X86] fpclamptosat_vec.ll - add AVX2/AVX512 test coverage
  [X86] Add fpclamptosat to vXi8 test coverage
  [mlir][complex] Support Fastmath flag for complex log ops (llvm#69798)
  Revert "VectorUtils: mark lrint, llrint as trivially vectorizable (llvm#69945)"
  [analyzer] Fix uninitialized base class with initializer list when ctor is not declared in the base class
  [IR] Add writable attribute
  [clang][NFC] Refactor `OMPDeclareReductionDecl::InitKind`
  [NFC][Transform] Cleanup magic constant usage
  [LLVM-C] Fix linking failure introduced by 3351097.
  [MLIR][GPUToROCDL] Remove typed pointer support (llvm#70908)
  [clang][NFC] Refactor `ArgPassingKind`
  [Driver] Silence stdlib warning when linking C on *BSD / Solaris / Haiku (llvm#70434)
  [symbolizer] Support symbol lookup
  [MLIR][LaunchFuncToVulkan] Remove typed pointer support (llvm#70865)
  [MLIR][GPUToNVVM] Remove typed pointer support (llvm#70861)
  [mlir][ArmSME] Add optional mask operand to tile_store (llvm#70657)
  [RISCV][GISel] Add test case for FP load/store legalization. NFC
  [RISCV][GISel] Make s64 G_LOAD/G_STORE legal on RV32 with D extension.
  Escape LLVM_TARGETS_TO_BUILD while checking against LLVM_ALL_TARGETS and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD (llvm#70885)
  [RISCV][GISel] Refactor the load/store action builder to prepare for upcoming patch. NFC
  [InferAddressSpaces] collect flat address expression from return value (llvm#70610)
  [clang] Additional FP classification functions (llvm#69041)
  [PGO] Skip optimizing probes that don't fit. (llvm#70875)
  Apply clang-tidy fixes for performance-unnecessary-value-param in SliceAnalysis.cpp (NFC)
  [MLIR] Apply clang-tidy fixes for misc-include-cleaner in Presburger library (NFC)
  [mlir] Fix vector::InsertElementOp::fold on invalid input
  Fix a warning: default label in switch which covers all enumeration values (NFC)
  [mlir] Fix bufferization.alloc_tensor canonicalization crash (llvm#70891)
  [llvm-c] Improve TargetMachine bindings (llvm#70806)
  Revert "[lldb/Target] Delay image loading after corefile process creation (llvm#70351)"
  [mlir][vector] LISH: Implement `SubsetOpInterface` for transfer_read/write (llvm#70629)
  [ADT] Use llvm::to_underlying (NFC)
  [lldb/Target] Delay image loading after corefile process creation (llvm#70351)
  [DAGCombine] Fold setcc_eq infinity into is.fpclass (llvm#67829)
  [OpenMP] Introduce the KernelLaunchEnvironment as implicit argument (llvm#70401)
  [mlir][Interfaces] LISH: Add helpers for hyperrectangular subsets (llvm#70628)
  [Support] Use llvm::to_underlying (NFC)
  [mlir][Transforms] LISH: Improve bypass analysis for loop-like ops (llvm#70623)
  [mlir][arith] Add ArithOpsInterfaces to mlir-generic-headers (llvm#70862)
  [mlir][Transforms] Add loop-invariant subset hoisting (LISH) transformation (llvm#70619)
  [mlir][Interfaces] Add `SubsetOpInterface` and `SubsetExtractionOpInterface` (llvm#70617)
  [Flang][OpenMP] Correctly handling continuation lines with Fixed Source Form Conditional Compilation Sentinels (llvm#70309)
  [mlir][python] fix python_test dialect and I32/I64ElementsBuilder (llvm#70871)
  [RISCV] Use FLI + FNEG to materialize some negative FP constants (llvm#70825)
  [mlir][bufferization] Fix ownership computation of unknown ops (llvm#70773)
  [SelectionDAG] Update comments that refer to MVT::Glue as a 'flag'
  Revert recent changes to test_demangle.pass.cpp
  Metadata: Optimize metadata queries (llvm#70700)
  [mlir][Interfaces] `LoopLikeOpInterface`: Expose tied loop results (llvm#70535)
  [mlir][sparse] first proof-of-concept non-permutation rewriter (llvm#70863)
  [mlir][vector] Clean up outerproduct docs. NFC. (llvm#70824)
  [flang] Accept CONTIGUOUS attribute when redundant (llvm#70853)
  [mlir] Fix an unused variable warning
  [libc++][NFC] Update ignore_format for expected tests (llvm#70869)
  [CSKY,test] Update switch.ll
  insertSSPDeclarations: adjust Darwin condition that sets dso_local
  [mlir][bytecode] Implements back deployment capability for MLIR dialects (llvm#70724)
  [ARM,ELF] Fix access to dso_preemptable __stack_chk_guard with static relocation model (llvm#70014)
  Also log the error output from xcrun, if it fails. (llvm#70716)
  [ARM][test] Improve stack-protector tests
  [OpenMP] Add optimization to remove the RPC client (llvm#70683)
  [MLIR][LaunchFuncToLLVM] Remove typed pointer support (llvm#70840)
  [IndVars] Use IRBuilder in eliminateTrunc [nfc-ish] (llvm#70836)
  VectorUtils: mark lrint, llrint as trivially vectorizable (llvm#69945)
  [windows][ASan] Fix build (llvm#70855)
  [llvm-profdata] Emit warning when counter value is greater than 2^56. (llvm#69513)
  [compiler-rt] [test] Apply the MSVC scalbn test exceptions to MinGW too (llvm#70776)
  [libc++][AIX] Add OS version to target triple
  [lldb] Replace the usage of module imp with module importlib (llvm#70443)
  [ASan][Windows] Add __cdecl to public sanitizer functions (llvm#69625)
  [flang] Fix build warning on now-unused variable (llvm#70852)
  [flang][cuda] Remove check for obsolete constraint (llvm#70707)
  [libc] Add a few missing casts (llvm#70850)
  [mlir][sparse] add helper class to implement common rewriter to re/demap sparse tensors. (llvm#70750)
  [flang] Accept directive sentinels in macro-replaced source better (llvm#70699)
  [flang] Fix IsDescriptor() to fix SMP compatibility checking (llvm#70676)
  [SLP]Fix PR70507: emit freeeze whenever required for bool logical ops in the middle of reduction ops.
  [flang] Fix mod file generation of derived type initializers... (llvm#70511)
  CodeGen/RISCV: increase test coverage of lrint, llrint (llvm#70826)
  [SLP][NFC]Add a test with poisonous reduction, seeding bool logical op. NFC.
  [RISCV][GISel] Simplify selectSelect. NFC (llvm#70846)
  [flang] Fine-tune function result equivalence checking (llvm#70260)
  [flang] Account for shadowed symbols when skimming executable part (llvm#70246)
  [clang][NFC] Refactor `VectorType::VectorKind`
  [SCEV] Fix incorrect NUW inference (llvm#70521)
  [flang][preprocessor] Handle compiler directives with continuations a… (llvm#70128)
  [gn] port 3351097 (TargetMachineCTests)
  [flang] Fix bogus error on aliased derived type (llvm#69959)
  [flang] Silence a bogus warning (llvm#69799)
  [flang] Accept distinct kinds of arguments to IAND/IEOR/IOR (llvm#69782)
  [gn build] Fix build
  [AArch64] Handle newly-added atomic instructions in `getMemOpInfo`
  [flang] Fix regression in submodule symbol checking (llvm#69778)
  [compiler-rt] Build crtbegin.o/crtend.o for SerenityOS
  [clang][NFC] Refactor ElaboratedTypeKeyword
  [clang-tidy] Fixes a typo in the help message.
  Remove unused variable in lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  [flang] Make NULL() initializers explicit for allocatables in DATA co… (llvm#69753)
  [mlir][python] Fix possible use of variable use before set
  [libc++] Remove unnecessary <cstdint> include from <string> (llvm#70613)
  [flang][runtime] When OPEN implies CLOSE, disable later extant unit c… (llvm#69390)
  [NFC] Extract LoopConstrainer from IRCE to reuse it outside the pass (llvm#70508)
  [flang] Reduce implicit interface compatibility warnings due to length (llvm#69385)
  Autogenerate a indvars test for ease of update in future change
  [AArch64] Also implement PNR -> PNR copies. (llvm#70682)
  [SCEV] Teach SCEVExpander to use zext nneg when possible (llvm#70815)
  [flang] Add fastmath attributes to complex arithmetic (llvm#70690)
  Mark headers as textual and unbreak the modules build
  [clang-scan-deps] [P1689] Keep consistent behavior for make dependencies with clang (llvm#69551)
  [LLVM-C] Add LLVMCreateTargetMachineWithABI (llvm#68406)
  [flang][openacc] Allow scalar in acc cache directive (llvm#70713)
  [flang][openacc] Warn only when the same variable is in the same declare (llvm#70698)
  Revert "[NFC] Remote TODO regarding opaque ptr conversion"
  [StackProtector] Do not emit the stack protector on GPU architectures (llvm#70799)
  [LLDB] On AArch64, reconfigure register context first (llvm#70742)
  [Clang][RISCV] Add vcreate intrinsics for RVV non-tuple types (llvm#70355)
  [clang][NFC] Follow up to ArraySizeModifier refactoring
  [clang][NFC] Refactor `ArrayType::ArraySizeModifier`
  [LAA] Add a test case to show incorrect dependency classification (NFC). (llvm#70473)
  LoopIdiomRecognize: update comment about ctpop (NFC) (llvm#70812)
  Revert "[Profile] Refactor profile correlation. (llvm#70712)"
  Refresh a couple of auto-gen tests [nfc]
  [Profile] Refactor profile correlation. (llvm#70712)
  update_analyze_test_checks: support output from LAA (llvm#67584)
  [libc++] Remove alignment_of uses (llvm#70591)
  [mlir][MemRefToLLVM] Fix crashes with unconvertable memory spaces (llvm#70694)
  [NFC][tests] Fix target OS check for module test
  [mlir][Bazel] Add missing dependency after 4ce93d5
  [MLIR][LLVM] Avoid creating invalid DICompositeTypes in import (llvm#70797)
  [AMDGPU] amdgpu-codegenprepare-idiv.ll - regenerate checks. NFC.
  [LoongArch] Fix ABI mismatch with gcc/g++ about empty structs passing (llvm#70320)
  LoopVectorize: add negative test for lrint, llrint (llvm#70211)
  [mlir][ArmSME] Add mask operand to load_tile_slice (llvm#70655)
  [AArch64] Mark ptrue (predicate-as-counter) as rematerializable.
  [LoopPeeling] Fix weights updating of peeled off branches (llvm#70094)
  RegisterCoalescer: Relax assert for super register def rematerialization (llvm#69088)
  llvm-reduce: Handle cloning for MachineJumpTableInfo (llvm#69086)
  [compiler-rt] Don't link builtins against the CRT on Windows (llvm#70675)
  LoopVectorize/test: add missing CHECK lines, cleanup intrinsic.ll (llvm#70202)
  [AMDGPU] Accept/Ignore any -mcmodel arguments. (llvm#70760)
  [clang-format] Fix annotating annotations after requires clause
  [AMDGPU] Fix nondeterminism in SIFixSGPRCopies (llvm#70644)
  [DSE] Add test for llvm#70547 (NFC)
  [mlir] Fix -Wsign-compare in ResolveShapedTypeResultDims.cpp (NFC)
  Remove malformed brief commands in comments (NFC) (llvm#70746)
  [AArch64] Add intrinsic to count trailing zero elements
  [AArch64][SME] Extend Inliner cost-model with custom penalty for calls. (llvm#68416)
  [AMDGPU] - Add s_bitreplicate intrinsic (llvm#69209)
  [VectorCombine] Discard ScalarizationResults if transform aborted
  [ARM] Disable UpperBound loop unrolling for MVE tail predicated loops. (llvm#69709)
  Revert "Add two time-trace scope variables."
  [mlir][SCF] Use `transform.get_parent_op` instead of `transform.loop.get_parent_for` (llvm#70757)
  [flang][OpenMP] Port OpenMP FIR tests for atomic update/capture to HLFIR (llvm#70627)
  [JumpThreading] Don't phi translate past loop phi (llvm#70664)
  Add two time-trace scope variables.
  [llvm][TableGen] Add Compiler Explorer link to README
  [MLIR][Linalg] Introduce SpecializeOp (llvm#70326)
  [mlir][ArmSME] Support lowering masked vector.outerproduct ops to SME (llvm#69604)
  [clang][dataflow][NFC] Move `parseAll()` to TestingSupport and rename `parseFormulas()` (llvm#70437)
  [GlobalISel] Add `GITypeOf` special type (llvm#66079)
  [SystemZ] Enable AtomicExpand pass (llvm#70398)
  [RISCV] Add _RM pseudos to pseudos table (llvm#70693)
  [mlir][memref] Fix out-of-bounds crash when reifying result dims (llvm#70774)
  [MLIR][GPUCommon] Remove typed pointer support (llvm#70735)
  [NFC] Remote TODO regarding opaque ptr conversion
  [RISCV][MCA] Remove unnecessary -debug flag from test (NFC)
  [gn build] Port d6bfa33
  [gn build] Port a4005e7
  [LoongArch][CodeGen] Add LASX builtin testcases
  [LoongArch][CodeGen] Add LSX builtin testcases
  [Clang][LoongArch] Support the builtin functions for LASX
  [Clang][LoongArch] Support the builtin functions for LSX
  [Clang][LoongArch] Add ABI implementation of passing vectors
  [Clang][LoongArch] Support compiler options -mlsx/-mlasx for clang
  [MLIR][ControlFlowToLLVM] Remove typed pointer support (llvm#70733)
  [MLIR][AsyncToLLVM] Remove typed pointer support (llvm#70731)
  Reland "[MLIR][FuncToLLVM] Remove typed pointer support" (llvm#70717)
  [MLIR][SparseTensor] Introduce opaque pointers in LLVM dialect lowering (llvm#70570)
  [clang-tidy] Fix crash in modernize-use-trailing-return-type (llvm#70709)
  [OpenMP] Lower synchronization threshold for reductions
  [RISCV] Add `TuneVentanaVeyron` subtarget feature. (llvm#70414)
  [test] Align behavior of interrupts.test on different platforms (llvm#68556)
  Revert "[HWASAN] Enable memcpy, memmove and memset interceptors (llvm#70387)"
  [libcxx] Amend XFAIL for failing tests on Windows (llvm#70422)
  [RISCV][NFC] Simplify vector register decoding methods (llvm#70423)
  [mlir][python] fix `replace=True` for `register_operation` and `register_type_caster` (llvm#70264)
  [gn] port 15b37e1 (no xf on msvc/android)
  [gn build] Port 7fbd427
  Add the ability to get a C++ vtable ValueObject from another ValueObj… (llvm#67599)
  Revert "[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (llvm#70392)"
  Revert "[lldb] Fix build failure introduced in 4840384 (NFC)"
  [lldb] Fix build failure introduced in 4840384 (NFC)
  [OpenMP][NFC] Fix test to actually check for the result
  [X86] Don't set SHF_X86_64_LARGE for variables with explicit section name of a well-known small data section prefix (llvm#70748)
  [lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (llvm#70392)
  [flang] Derived type structural equivalence (llvm#69376)
  [RISCV] Rewrite RISCVCodeGenPrepare using zext nneg [nfc-ish] (llvm#70739)
  [lldb] Fix misleading indentiation warning in ScriptInterpreterPython (NFC) (llvm#70732)
  [CUDA, NVPTX] accept/ignore any -mcmodel arguments. (llvm#70740)
  [clang] Change GetCharAndSizeSlow interface to by-value style
  [mlir][sparse] implements tensor.insert on sparse tensors. (llvm#70737)
  [SDAG] Prefer forming sign_extend for zext nneg per target preference (llvm#70725)
  [mlir][sparse] split post-sparsification-rewriting into two passes. (llvm#70727)
  [SCCP] Infer nneg on zext when forming from non-negative sext. (llvm#70730)
  [HWASAN] Enable memcpy, memmove and memset interceptors (llvm#70387)
  [MachineInstr] add insert method for variadic instructions (llvm#67699)
  [clang] Remove no-op ptr-to-ptr bitcasts (NFC)
  [SCEV] Fix "quick and dirty" difference that could lead to assert (llvm#70688)
  [mlir][python] Register LLVM translations in the RegisterEverything for python (llvm#70428)
  [SLP]Fix PR70507: correctly handle bool logical ops in reductions.
  [DirectX] Update test after `opt` learned to infer datalayout (llvm#70726)
  [libc] Fix printf long double truncation bound (llvm#70705)
  [CVP] Infer nneg on zext when forming from non-negative sext. (llvm#70715)
  [SLP][NFC]Add a test for bool logic ops reduction, NFC.
  [RISCV] Add test coverage for "zext nneg" [nfc]
  [DirectX] Remove redundant resource kind handling. NFC (llvm#70691)
  [lldb] Part 2 of 2 - Refactor `CommandObject::DoExecute(...)` return `void` (not `bool`) (llvm#69991)
  [MemProf] Handle profiles with missing column numbers (llvm#70520)
  [RISCV] Add zbb coverage to test file [nfc]
  [Flang][MLIR][OpenMP] Temporarily re-add basic handling of uses in target regions to avoid gfortran test-suite regressions
  [OpenMP] Add a test for D158802 (llvm#70678)
  [libc][Obvious] Fix missing semicolon in AMDGPU loader implementation
  [mlir][vector] Update reduction kind docs. NFC. (llvm#70673)
  [RISCV] SiFive7 VLDS Sched should not depend on VL when stride is x0. (llvm#70266)
  [RISCV][GlobalISel] Select G_GLOBAL_VALUE (llvm#70091)
  [mlir][NFC] Use `llvm::to_underlying` in sparse tensor IR detail
  Revert "[Github] Fetch all commits in PR for code formatting checks (llvm#69766)"
  [Github] Fetch all commits in PR for code formatting checks (llvm#69766)
  [InstCombine] Infer nneg on zext when forming from non-negative sext (llvm#70706)
  [ADT] Backport std::to_underlying from C++23 (llvm#70681)
  [libc++] Fix UB in <expected> related to "has value" flag (llvm#68552) (llvm#68733)
  [CodeGen] Improve ExpandMemCmp for more efficient non-register aligned sizes handling (llvm#70469)
  Regenerate a set of auto-update tests [nfc]
  [amdgpu][openmp] Avoiding writing to packet header twice (llvm#70695)
  [AArch64] Add support for v8.4a `ldapur`/`stlur`
  [AArch64] Introduce tests for PR67879 (NFC)
  [X86] IceLakeServer - ZMM FMA can only use Port0
  [MCA][X86] Add AVX512 FMA instruction test coverage
  [clang] Implement constexpr bit_cast for vectors (llvm#66894)
  [flang][openacc][openmp] Set correct location on atomic operations (llvm#70680)
  Revert "[InstCombine] Simplify and/or of icmp eq with op replacement (llvm#70335)"
  [GISel] Restrict G_BSWAP to multiples of 16 bits. (llvm#70245)
  [flang] Check for overflows in RESHAPE folding (llvm#68342)
  [RISCV][GISel] Add missing curly brace to test. NFC
  [lldb][Test] TestDataFormatterLibcxxChrono.py: skip test on older clang versions (llvm#70544)
  [docs] mention that DenseMap has a SmallDenseMap variant (llvm#70677)
  [clang][Module] Mark test unsupported since objc doesn't have xcoff/g… (llvm#70661)
  Fix the DEVELOPER_DIR computation (llvm#70528)
  [RISCV] Teach copyPhysReg to allow copies between GPR<->FPR32/FPR64 (llvm#70525)
  [flang][mlir][openacc] Switch device_type representation to an enum (llvm#70250)
  [AMDGPU] CodeGen for 64-bit buffer atomic cmpswap intrinsics (llvm#70475)
  [libc++][tests] Fix a few remaining instances of outdated static assertion regexes in our test suite (llvm#70454)
  [X86] Print 'l' section flag for SHF_X86_64_LARGE (llvm#70380)
  [clang][Interp][NFC] Use delegate() in VisitCXXBindTemporaryExpr
  [Flang][OpenMP] Fix comments that should not be Sentinels on fixed format. (llvm#68911)
  Reland "[InstrProf][compiler-rt] Enable MC/DC Support in LLVM Source-based Code Coverage (1/3)"
  [flang][openacc][NFC] Add test for atomic with array ref (llvm#70261)
  [gn build] Port 72e6c1c
  [CGExprConstant] stop calling into ConstExprEmitter for Reference type destinations (llvm#70366)
  [RISCV] Remove old peephole declaration in RISCVISelDAGToDAG.h. NFC
  [lldb][AArch64][Linux] Rename Is<ext>Enabled to Is<ext>Present (llvm#70303)
  Remove unused variable. (llvm#70670)
  [HLSL][SPIR-V] Fix clang driver lang target test (llvm#70330)
  [clang][Interp] Fix truncateCast() (llvm#69911)
  [AMDGPU][wmma] - Add tied wmma intrinsic (llvm#69903)
  [RISCV] Begin moving post-isel vector peepholes to a MF pass (llvm#70342)
  [AMDGPU] Select 64-bit imm moves if can be encoded as 32 bit operand (llvm#70395)
  [AMDGPU] Prevent folding of the negative i32 literals as i64 (llvm#70274)
  [Clang] Diagnose defaulted assignment operator with incompatible object parameter (llvm#70176)
  [Flang][OpenMP][MLIR] Initial array section mapping MLIR -> LLVM-IR lowering utilising omp.bounds (llvm#68689)
  [gn build] Port bb352b6
  [APINotes] Upstream APINotesReader
  [SLP]Do not crash if number of vector registers does not feet the vector type.
  [JumpThreading] Add test for llvm#70651 (NFC)
  [clang][analyzer] Do not analyze opaque types in CXXDeleteChecker (llvm#70638)
  [AArch64][GlobalISel] Fix incorrect ABI when tail call not supported (llvm#70215)
  [mlir][ArmSME] NFC: Rename tild_id -> tile_id
  [Clang][RISCV] Add vundefine intrinsics for tuple types (llvm#70354)
  [AMDGPU] Fix subtarget predicates for some V_MFMA instructions. (llvm#70450)
  [flang] Put ISO_Fortran_binding.h where it can be easily used (llvm#70129)
  [LoopVectorize] Enhance Vectorization decisions for predicate tail-folded loops with low trip counts (llvm#69588)
  [X86] vec_insert-5.ll - ensure we build with +mmx as we reference x86_mmx types
  [clang][nullability] Use `proves()` and `assume()` instead of deprecated synonyms. (llvm#70297)
  [UTC] Recognise CHECK lines with globals matched literally (llvm#70050)
  [mlir][ArmSME] Add optional padding and mask operands to tile_load (llvm#69195)
  Remove the opaque pointers flag from tools
  [lldb] Adapt code to Python 3.13 (llvm#70445)
  [mlir][Transform] Relax the applicability of transform.foreach_match to also take into account the op itself
  [MLIR][LLVM] Change CAPI pointer factory to create opaque pointers (llvm#70572)
  [MLIR][LLVM] Avoid exporting broken debug intrinsics without a location (llvm#70643)
  [clang] Robustify openmp test (llvm#69739)
  Update mlir-spirv-cpu-runner.cpp (llvm#70649)
  [clang][NFC] Assert not llvm_unreachable (llvm#70149)
  [AMDGPU/VOP3P][NFC] - Simplify wmma instruction defs (llvm#70622)
  [RISCV][NFC] Move getRVVMCOpcode to RISCVInstrInfo (llvm#70637)
  [AArch64][SME] Allow inlining when streaming-mode attributes dont match up. (llvm#68415)
  [MLIR][LLVM] Infer export location scope from location, if possible (llvm#70465)
  [InstCombine] Simplify and/or of icmp eq with op replacement (llvm#70335)
  [InstCombine] Remove unnecessary icmp of all-zero gep folds (NFC)
  [AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegisterToRename
  [clang][Interp] Handle CXXTryStmts (llvm#70584)
  [compiler-rt] Don't use 'vg' in CFI directives for SME ABI routines
  Revert "[MLIR][FuncToLLVM] Remove typed pointer support (llvm#70574)"
  [IR] Add zext nneg flag (llvm#67982)
  [MLIR][SPIRVToLLVM] Remove typed pointer support (llvm#70568)
  [MLIR][FuncToLLVM] Remove typed pointer support (llvm#70574)
  [doc] Improve wording for "What is considered a security issue?" (llvm#69436)
  [mlir][spirv] Handle failed conversions of struct elements (llvm#70005)
  [Preprocessor][test] Add Haiku
  [mlir][Interfaces][NFC] Move `SubsetInsertionOpInterface` to `mlir/Interfaces` (llvm#70615)
  [docs] [C++20] [Modules] Add document for the case of duplicated '-fmodule-file=<module-name>='
  [MLIR][mlir-opt] Add `registerationAndParseCLIOptions` for `MlirOptMain`. (llvm#70581)
  [OpenMP] Add missing bit with the Hurd support (llvm#70609)
  [NFC][DominanceFrontier] Replace std::map with DenseMap for DomSetMapType (llvm#70403)
  Revert "Perf/lexer faster slow get char and size (llvm#70543)"
  [AArch64] Add additional concat trunc -> UZP1 patterns
  [OpenMP] Make use of getloadavg() on *BSD OS's (llvm#70586)
  [clang-format][NFC] Reduce indent
  [Github] Add Polly docs to Github actions (llvm#70531)
  [Github] Add OpenMP docs to Github docs action (llvm#70529)
  [OpenMP] Move function out of !NDEBUG section
  [openmp] Fixed Support for VA for record-replay. (llvm#70396)
  [OpenMP] Associate the KernelEnvironment with the GenericKernelTy (llvm#70383)
  Perf/lexer faster slow get char and size (llvm#70543)
  [OpenMP] Unify the min/max thread/teams pathways
  [DAG] Avoid ComputeNumSignBits call when we know the result is unsigned
  [libc++] Remove a few transitive includes (llvm#70553)
  [gn] port f70e39e
  [ASan] aarch64be.ll - fix missing aarch64-registered-target requirement and incorrect passes list
  [DAG] Attempt shl narrowing in SimplifyDemandedBits (REAPPLIED)
  [clang-tidy] Fix readability-avoid-const-params-in-decls - point to the correct const location (llvm#69103)
  [X86] Avoid returning the same shuffle operation for broadcast (llvm#70592)
  [clang][Interp][NFC] Make IntegralAP::isSigned() constexpr
  [libc++][NFC] Refactor __enable_ifs in <cstddef> to be defaulted template arguments
  [mlir][tosa] Fix not to crash with large permutation indexes  (llvm#69857)
  [bazel] Add missing depdendency for a5a9086
  fix: asan support aarch64be (llvm#70536)
  [MLGO] Fix tests post 1a2e77c
  [MLIR][LLVM] Deprecate typed pointer operation builder (llvm#70576)
  [MemCpyOpt] Combine alias metadatas when replacing byval arguments (llvm#70580)
  [RISCV][GISel] Directly emit X0 from getICMPOperandsForBranch instead of using buildConstant+selectConstant.
  Revert "Revert "Inlining: Run the legacy AlwaysInliner before the regular inliner.""
  Apply clang-tidy fixes for misc-include-cleaner in SparseAnalysis.cpp (NFC)
  Apply clang-tidy fixes for misc-include-cleaner in LivenessAnalysis.cpp (NFC)
  Apply clang-tidy fixes for misc-include-cleaner in IntegerRangeAnalysis.cpp (NFC)
  Apply clang-tidy fixes for misc-include-cleaner in DataFlowFramework.cpp (NFC)
  [RISCV][GISel] Support G_FPEXT/G_FPTRUNC for F and D extension.
  [RISCV][GISel] Support G_FMA/NEG/ABS/SQRT/MAXNUM/MINNUM for F and D extension.
  [clang-format][NFC] Delete TT_LambdaArrow (llvm#70519)
  [Linker] Do not keep a private member of a non-prevailing comdat group (llvm#69143)

Change-Id: I13c989556109c6ff749e2f0caddd368affe7797c
Signed-off-by: greenforce-auto-merge <greenforce-auto-merge@users.noreply.github.com>
@MaskRay
Copy link
Member

MaskRay commented Nov 5, 2023

I think this is fine, but we probably should think about the general option compatibility problem #70740 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:codegen clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[LLVM 17.0.0 RC4][OpenMP][AMDGPU offload] Stack protector makes the linker crash
5 participants