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

[LV][EVL]Support reversed loads/stores. #88025

Merged

Conversation

alexey-bataev
Copy link
Member

Support for predicated vector reverse intrinsic was added some time ago.
Adds support for predicated reversed loads/stores in the loop
vectorizer.

Created using spr 1.3.5
@llvmbot
Copy link
Collaborator

llvmbot commented Apr 8, 2024

@llvm/pr-subscribers-llvm-transforms

Author: Alexey Bataev (alexey-bataev)

Changes

Support for predicated vector reverse intrinsic was added some time ago.
Adds support for predicated reversed loads/stores in the loop
vectorizer.


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

2 Files Affected:

  • (modified) llvm/lib/Transforms/Vectorize/LoopVectorize.cpp (+45-22)
  • (modified) llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll (+10-13)
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 9e22dce384773e..797a3fd1e9dba4 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -1579,13 +1579,7 @@ class LoopVectorizationCostModel {
   /// Returns true if VP intrinsics with explicit vector length support should
   /// be generated in the tail folded loop.
   bool foldTailWithEVL() const {
-    return getTailFoldingStyle() == TailFoldingStyle::DataWithEVL &&
-           // FIXME: remove this once vp_reverse is supported.
-           none_of(
-               WideningDecisions,
-               [](const std::pair<std::pair<Instruction *, ElementCount>,
-                                  std::pair<InstWidening, InstructionCost>>
-                      &Data) { return Data.second.first == CM_Widen_Reverse; });
+    return getTailFoldingStyle() == TailFoldingStyle::DataWithEVL;
   }
 
   /// Returns true if the Phi is part of an inloop reduction.
@@ -9361,10 +9355,17 @@ void VPReplicateRecipe::execute(VPTransformState &State) {
 
 /// Creates either vp_store or vp_scatter intrinsics calls to represent
 /// predicated store/scatter.
-static Instruction *
-lowerStoreUsingVectorIntrinsics(IRBuilderBase &Builder, Value *Addr,
-                                Value *StoredVal, bool IsScatter, Value *Mask,
-                                Value *EVL, const Align &Alignment) {
+static Instruction *lowerStoreUsingVectorIntrinsics(
+    IRBuilderBase &Builder, Value *Addr, Value *StoredVal, bool IsScatter,
+    bool IsReverse, Value *Mask, Value *EVL, const Align &Alignment) {
+  if (IsReverse) {
+    auto *StoredValTy = cast<VectorType>(StoredVal->getType());
+    Value *BlockInMaskPart =
+        Builder.getAllOnesMask(StoredValTy->getElementCount());
+    StoredVal = Builder.CreateIntrinsic(
+        StoredValTy, Intrinsic::experimental_vp_reverse,
+        {StoredVal, BlockInMaskPart, EVL}, nullptr, "vp.reverse");
+  }
   CallInst *Call;
   if (IsScatter) {
     Call = Builder.CreateIntrinsic(Type::getVoidTy(EVL->getContext()),
@@ -9384,11 +9385,9 @@ lowerStoreUsingVectorIntrinsics(IRBuilderBase &Builder, Value *Addr,
 
 /// Creates either vp_load or vp_gather intrinsics calls to represent
 /// predicated load/gather.
-static Instruction *lowerLoadUsingVectorIntrinsics(IRBuilderBase &Builder,
-                                                   VectorType *DataTy,
-                                                   Value *Addr, bool IsGather,
-                                                   Value *Mask, Value *EVL,
-                                                   const Align &Alignment) {
+static Instruction *lowerLoadUsingVectorIntrinsics(
+    IRBuilderBase &Builder, VectorType *DataTy, Value *Addr, bool IsGather,
+    bool IsReverse, Value *Mask, Value *EVL, const Align &Alignment) {
   CallInst *Call;
   if (IsGather) {
     Call =
@@ -9402,7 +9401,14 @@ static Instruction *lowerLoadUsingVectorIntrinsics(IRBuilderBase &Builder,
   }
   Call->addParamAttr(
       0, Attribute::getWithAlignment(Call->getContext(), Alignment));
-  return Call;
+  Instruction *Res = Call;
+  if (IsReverse) {
+    Value *BlockInMaskPart = Builder.getAllOnesMask(DataTy->getElementCount());
+    Res = Builder.CreateIntrinsic(DataTy, Intrinsic::experimental_vp_reverse,
+                                  {Res, BlockInMaskPart, EVL}, nullptr,
+                                  "vp.reverse");
+  }
+  return Res;
 }
 
 void VPWidenMemoryInstructionRecipe::execute(VPTransformState &State) {
@@ -9430,7 +9436,7 @@ void VPWidenMemoryInstructionRecipe::execute(VPTransformState &State) {
     // a null all-one mask is a null mask.
     for (unsigned Part = 0; Part < State.UF; ++Part) {
       Value *Mask = State.get(getMask(), Part);
-      if (isReverse())
+      if (isReverse() && !State.EVL)
         Mask = Builder.CreateVectorReverse(Mask, "reverse");
       BlockInMaskParts[Part] = Mask;
     }
@@ -9456,11 +9462,20 @@ void VPWidenMemoryInstructionRecipe::execute(VPTransformState &State) {
         // is created only if TTI prefers predicated vectorization, thus if EVL
         // is not nullptr it also implies preference for predicated
         // vectorization.
-        // FIXME: Support reverse store after vp_reverse is added.
         Value *MaskPart = isMaskRequired ? BlockInMaskParts[Part] : nullptr;
+        if (isMaskRequired && isReverse() && !getMask()->isLiveIn()) {
+          VectorType *MaskTy = cast<VectorType>(MaskPart->getType());
+          Value *BlockInMaskPart =
+              Builder.getAllOnesMask(MaskTy->getElementCount());
+          MaskPart = Builder.CreateIntrinsic(
+              MaskTy, Intrinsic::experimental_vp_reverse,
+              {MaskPart, BlockInMaskPart, EVL}, nullptr, "vp.reverse.mask");
+          BlockInMaskParts[Part] = MaskPart;
+        }
         NewSI = lowerStoreUsingVectorIntrinsics(
             Builder, State.get(getAddr(), Part, !CreateGatherScatter),
-            StoredVal, CreateGatherScatter, MaskPart, EVL, Alignment);
+            StoredVal, CreateGatherScatter, isReverse(), MaskPart, EVL,
+            Alignment);
       } else if (CreateGatherScatter) {
         Value *MaskPart = isMaskRequired ? BlockInMaskParts[Part] : nullptr;
         Value *VectorGep = State.get(getAddr(), Part);
@@ -9504,11 +9519,19 @@ void VPWidenMemoryInstructionRecipe::execute(VPTransformState &State) {
       // is created only if TTI prefers predicated vectorization, thus if EVL
       // is not nullptr it also implies preference for predicated
       // vectorization.
-      // FIXME: Support reverse loading after vp_reverse is added.
       Value *MaskPart = isMaskRequired ? BlockInMaskParts[Part] : nullptr;
+      if (isMaskRequired && isReverse() && !getMask()->isLiveIn()) {
+        VectorType *MaskTy = cast<VectorType>(MaskPart->getType());
+        Value *BlockInMaskPart =
+            Builder.getAllOnesMask(MaskTy->getElementCount());
+        MaskPart = Builder.CreateIntrinsic(
+            MaskTy, Intrinsic::experimental_vp_reverse,
+            {MaskPart, BlockInMaskPart, EVL}, nullptr, "vp.reverse.mask");
+        BlockInMaskParts[Part] = MaskPart;
+      }
       NewLI = lowerLoadUsingVectorIntrinsics(
           Builder, DataTy, State.get(getAddr(), Part, !CreateGatherScatter),
-          CreateGatherScatter, MaskPart, EVL, Alignment);
+          CreateGatherScatter, isReverse(), MaskPart, EVL, Alignment);
     } else if (CreateGatherScatter) {
       Value *MaskPart = isMaskRequired ? BlockInMaskParts[Part] : nullptr;
       Value *VectorGep = State.get(getAddr(), Part);
diff --git a/llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll b/llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
index f2222e0a1f936a..f839eafe9b2a61 100644
--- a/llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
+++ b/llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
@@ -30,14 +30,11 @@ define void @reverse_load_store(i64 %startval, ptr noalias %ptr, ptr noalias %pt
 ; IF-EVL-NEXT:    br label [[VECTOR_BODY:%.*]]
 ; IF-EVL:       vector.body:
 ; IF-EVL-NEXT:    [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
-; IF-EVL-NEXT:    [[OFFSET_IDX:%.*]] = sub i64 [[STARTVAL]], [[INDEX]]
+; IF-EVL-NEXT:    [[EVL_BASED_IV:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_EVL_NEXT:%.*]], [[VECTOR_BODY]] ]
+; IF-EVL-NEXT:    [[TMP9:%.*]] = sub i64 1024, [[EVL_BASED_IV]]
+; IF-EVL-NEXT:    [[TMP8:%.*]] = call i32 @llvm.experimental.get.vector.length.i64(i64 [[TMP9]], i32 4, i1 true)
+; IF-EVL-NEXT:    [[OFFSET_IDX:%.*]] = sub i64 [[STARTVAL]], [[EVL_BASED_IV]]
 ; IF-EVL-NEXT:    [[TMP7:%.*]] = add i64 [[OFFSET_IDX]], 0
-; IF-EVL-NEXT:    [[BROADCAST_SPLATINSERT:%.*]] = insertelement <vscale x 4 x i64> poison, i64 [[INDEX]], i64 0
-; IF-EVL-NEXT:    [[BROADCAST_SPLAT:%.*]] = shufflevector <vscale x 4 x i64> [[BROADCAST_SPLATINSERT]], <vscale x 4 x i64> poison, <vscale x 4 x i32> zeroinitializer
-; IF-EVL-NEXT:    [[TMP8:%.*]] = call <vscale x 4 x i64> @llvm.experimental.stepvector.nxv4i64()
-; IF-EVL-NEXT:    [[TMP9:%.*]] = add <vscale x 4 x i64> zeroinitializer, [[TMP8]]
-; IF-EVL-NEXT:    [[VEC_IV:%.*]] = add <vscale x 4 x i64> [[BROADCAST_SPLAT]], [[TMP9]]
-; IF-EVL-NEXT:    [[TMP10:%.*]] = icmp ule <vscale x 4 x i64> [[VEC_IV]], shufflevector (<vscale x 4 x i64> insertelement (<vscale x 4 x i64> poison, i64 1023, i64 0), <vscale x 4 x i64> poison, <vscale x 4 x i32> zeroinitializer)
 ; IF-EVL-NEXT:    [[TMP11:%.*]] = add i64 [[TMP7]], -1
 ; IF-EVL-NEXT:    [[TMP12:%.*]] = getelementptr inbounds i32, ptr [[PTR:%.*]], i64 [[TMP11]]
 ; IF-EVL-NEXT:    [[TMP13:%.*]] = call i64 @llvm.vscale.i64()
@@ -46,9 +43,8 @@ define void @reverse_load_store(i64 %startval, ptr noalias %ptr, ptr noalias %pt
 ; IF-EVL-NEXT:    [[TMP16:%.*]] = sub i64 1, [[TMP14]]
 ; IF-EVL-NEXT:    [[TMP17:%.*]] = getelementptr inbounds i32, ptr [[TMP12]], i64 [[TMP15]]
 ; IF-EVL-NEXT:    [[TMP18:%.*]] = getelementptr inbounds i32, ptr [[TMP17]], i64 [[TMP16]]
-; IF-EVL-NEXT:    [[REVERSE:%.*]] = call <vscale x 4 x i1> @llvm.experimental.vector.reverse.nxv4i1(<vscale x 4 x i1> [[TMP10]])
-; IF-EVL-NEXT:    [[WIDE_MASKED_LOAD:%.*]] = call <vscale x 4 x i32> @llvm.masked.load.nxv4i32.p0(ptr [[TMP18]], i32 4, <vscale x 4 x i1> [[REVERSE]], <vscale x 4 x i32> poison)
-; IF-EVL-NEXT:    [[REVERSE3:%.*]] = call <vscale x 4 x i32> @llvm.experimental.vector.reverse.nxv4i32(<vscale x 4 x i32> [[WIDE_MASKED_LOAD]])
+; IF-EVL-NEXT:    [[VP_OP_LOAD:%.*]] = call <vscale x 4 x i32> @llvm.vp.load.nxv4i32.p0(ptr align 4 [[TMP18]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer), i32 [[TMP8]])
+; IF-EVL-NEXT:    [[TMP31:%.*]] = call <vscale x 4 x i32> @llvm.experimental.vp.reverse.nxv4i32(<vscale x 4 x i32> [[VP_OP_LOAD]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer), i32 [[TMP8]])
 ; IF-EVL-NEXT:    [[TMP19:%.*]] = getelementptr inbounds i32, ptr [[PTR2:%.*]], i64 [[TMP11]]
 ; IF-EVL-NEXT:    [[TMP20:%.*]] = call i64 @llvm.vscale.i64()
 ; IF-EVL-NEXT:    [[TMP21:%.*]] = mul i64 [[TMP20]], 4
@@ -56,9 +52,10 @@ define void @reverse_load_store(i64 %startval, ptr noalias %ptr, ptr noalias %pt
 ; IF-EVL-NEXT:    [[TMP23:%.*]] = sub i64 1, [[TMP21]]
 ; IF-EVL-NEXT:    [[TMP24:%.*]] = getelementptr inbounds i32, ptr [[TMP19]], i64 [[TMP22]]
 ; IF-EVL-NEXT:    [[TMP25:%.*]] = getelementptr inbounds i32, ptr [[TMP24]], i64 [[TMP23]]
-; IF-EVL-NEXT:    [[REVERSE4:%.*]] = call <vscale x 4 x i1> @llvm.experimental.vector.reverse.nxv4i1(<vscale x 4 x i1> [[TMP10]])
-; IF-EVL-NEXT:    [[REVERSE5:%.*]] = call <vscale x 4 x i32> @llvm.experimental.vector.reverse.nxv4i32(<vscale x 4 x i32> [[REVERSE3]])
-; IF-EVL-NEXT:    call void @llvm.masked.store.nxv4i32.p0(<vscale x 4 x i32> [[REVERSE5]], ptr [[TMP25]], i32 4, <vscale x 4 x i1> [[REVERSE4]])
+; IF-EVL-NEXT:    [[TMP28:%.*]] = call <vscale x 4 x i32> @llvm.experimental.vp.reverse.nxv4i32(<vscale x 4 x i32> [[TMP31]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer), i32 [[TMP8]])
+; IF-EVL-NEXT:    call void @llvm.vp.store.nxv4i32.p0(<vscale x 4 x i32> [[TMP28]], ptr align 4 [[TMP25]], <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer), i32 [[TMP8]])
+; IF-EVL-NEXT:    [[TMP29:%.*]] = zext i32 [[TMP8]] to i64
+; IF-EVL-NEXT:    [[INDEX_EVL_NEXT]] = add i64 [[TMP29]], [[EVL_BASED_IV]]
 ; IF-EVL-NEXT:    [[INDEX_NEXT]] = add i64 [[INDEX]], [[TMP6]]
 ; IF-EVL-NEXT:    [[TMP26:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
 ; IF-EVL-NEXT:    br i1 [[TMP26]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]

@alexey-bataev
Copy link
Member Author

Ping!

2 similar comments
@alexey-bataev
Copy link
Member Author

Ping!

@alexey-bataev
Copy link
Member Author

Ping!

Created using spr 1.3.5
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
Created using spr 1.3.5
@alexey-bataev
Copy link
Member Author

Ping!

Created using spr 1.3.5
Copy link
Contributor

@fhahn fhahn left a comment

Choose a reason for hiding this comment

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

Thanks for the rebase!

? State.get(getMask(), 0)
: Builder.CreateVectorSplat(State.VF, Builder.getTrue());
if (isReverse() && getMask()) {
VectorType *MaskTy = cast<VectorType>(Mask->getType());
Copy link
Contributor

Choose a reason for hiding this comment

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

From looking at the test changes, it seems like this patch may not be covered?

Copy link
Contributor

Choose a reason for hiding this comment

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

The newly added test only seems to cover stores with masks, could you add one with loads that need a mask as well?

Created using spr 1.3.5
@fhahn fhahn requested a review from ayalz April 23, 2024 08:21
Created using spr 1.3.5
Created using spr 1.3.5
Copy link
Contributor

@fhahn fhahn left a comment

Choose a reason for hiding this comment

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

LGTM, but please move the code to create vp.reverse with all-true mask to a static helper to reduce duplication and make sure that it is done consistently.

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
Copy link
Collaborator

@ayalz ayalz left a comment

Choose a reason for hiding this comment

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

Unclear if/when "masked reverse" should be used, when reversing masked operands.

Created using spr 1.3.5
Created using spr 1.3.5
@alexey-bataev
Copy link
Member Author

Ping!

1 similar comment
@alexey-bataev
Copy link
Member Author

Ping!

@@ -9383,12 +9377,17 @@ void VPWidenLoadRecipe::execute(VPTransformState &State) {
}
}

static Value *reverseMask(IRBuilderBase &Builder, Value *Mask, Value *EVL,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
static Value *reverseMask(IRBuilderBase &Builder, Value *Mask, Value *EVL,
static Value *createReverseMaskEVL(IRBuilderBase &Builder, Value *Mask, Value *EVL,

@@ -9383,12 +9377,17 @@ void VPWidenLoadRecipe::execute(VPTransformState &State) {
}
}

static Value *reverseMask(IRBuilderBase &Builder, Value *Mask, Value *EVL,
Value *AllTrueMask) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should the above reverse of the loaded values use the partial mask of these values, rather than an all-true mask?

Should the above reverse of the to-be-stored values use the partial mask of these values, rather than an all-true mask?

Not necessary, all-true is good enough here, real mask just increases pressure on mask register with no effect

Worth a comment that the real mask is being optimized away here by a cheaper AllTrueMask.

As noted, it's "Unclear if/when "masked reverse" should be used, when reversing masked operands", i.e.,
where - for which reverses, if any? - all-true would not be good enough.

Would it be better to have createReverseEVL(IRBuilderBase &Builder, Value *Operand, Value *EVL, const Twine &Name) generate an experimental_vp_reverse for masks and values alike, also filling-in the optimized-out AllTrueMask?

Copy link
Member Author

Choose a reason for hiding this comment

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

As noted, it's "Unclear if/when "masked reverse" should be used, when reversing masked operands", i.e., where - for which reverses, if any? - all-true would not be good enough.

The reversing of the values in registers is safe (the actual length of the reversed data is controlled by EVL, we just cut extra unused lanes, because of that we can safely use all-true mask). Does it answer your question?

  1. Added createReverseEVL and used it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's obviously safe for reverse to utilize an all-true mask - as does the non-EVL vectorizer. Question was if it is ever beneficial not to do so? I.e., if in practice the mask of reverse is an unused operand that only wastes a register.

Created using spr 1.3.5
Copy link
Contributor

@fhahn fhahn left a comment

Choose a reason for hiding this comment

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

LGTM with a few additional nits inline.

Looks like all comments have been addressed, thanks!

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Outdated Show resolved Hide resolved
Created using spr 1.3.5
@alexey-bataev alexey-bataev merged commit 1d43cdc into main May 3, 2024
3 of 4 checks passed
@alexey-bataev alexey-bataev deleted the users/alexey-bataev/spr/lvevlsupport-reversed-loadsstores-1 branch May 3, 2024 11:28
@@ -9383,12 +9377,17 @@ void VPWidenLoadRecipe::execute(VPTransformState &State) {
}
}

static Value *reverseMask(IRBuilderBase &Builder, Value *Mask, Value *EVL,
Value *AllTrueMask) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's obviously safe for reverse to utilize an all-true mask - as does the non-EVL vectorizer. Question was if it is ever beneficial not to do so? I.e., if in practice the mask of reverse is an unused operand that only wastes a register.

@alexey-bataev
Copy link
Member Author

It's obviously safe for reverse to utilize an all-true mask - as does the non-EVL vectorizer. Question was if it is ever beneficial not to do so? I.e., if in practice the mask of reverse is an unused operand that only wastes a register.

Yes, always better from our perf data. Reducing dependencies increases the throughput, allows to execute instructions in parallel.

alexey-bataev added a commit that referenced this pull request May 3, 2024
@ayalz
Copy link
Collaborator

ayalz commented May 5, 2024

LGTM with a few additional nits inline.

Looks like all comments have been addressed, thanks!

Added a minor nit (post-commit): explanation that an all-true mask is always used for reverse is better placed when documenting createReverseEVL(), rather than (some of) its callers.

Lewuathe added a commit to Lewuathe/mlir-hello that referenced this pull request May 5, 2024
…3ef7de

78a28b3ef7de [X86] Support icmp_i64(i64 X, i64 Y) --> icmp_i32(trunc(X), trunc(Y)) for non-constant Y (#91085)
7d913c5ea9fd [clang][Modules] Make `Module::Requirement` a struct (NFC) (#67900)
9154a324bfce [clang-format][doc] Fix typos
a415b4dfcc02 Revert "SystemZ: Fold copy of vector immediate to gr128" (#91099)
7c1d9b15eee3 [test] %clang_cc1: remove redundant actions
02dfbbff1937 [SelectionDAG] Make ARITH_FENCE support half and bfloat type (#90836)
7a484d3a1f63 [clang] Distinguish unresolved templates in UnresolvedLookupExpr (#89019)
ffc9a30938ae [TableGen] Use bitwise operations to access HwMode ID.  (#88377)
3c311b022283 [test] %clang_cc1 -S: remove overridden -emit-llvm
a312dd68c0ce [BPF,test] %clang_cc1 -emit-llvm: remove redundant -S
c4c3efa161ed [test] %clang_cc1 -emit-llvm: remove redundant -S
0d501f38f348 [test] %clang_cc1 -emit-llvm: remove redundant -S
c5de4dd1eab0 [test] %clang_cc1 -emit-llvm: remove redundant -S
64ee821fad1b [mlir] Fix a warning
f2f65eddc5d9 [mlir][transform] Add support for transform.param pad multiples in `PadOp` (#90755)
4dede5ef5ca7 [Sema] Remove redundant check in an else branch. NFC
1b90095b7db4 [Driver,test] Improve msvc-link.c
abac98479b81 [Workflows] Re-write release-binaries workflow (#89521)
3cbfc9d80b35 [mlir][ODS][NFC] Deduplicate `ref` and `qualified` handling (#91080)
b54a78d69be1 [LV,LAA] Don't vectorize loops with load and store to invar address.
677dddebae77 [Transforms] Use StringRef::operator== instead of StringRef::equals (NFC) (#91072)
24f5fc77d43f  [flang][MLIR][OpenMP] Extend delayed privatization for arrays and characters (#85023)
c7910ee1f0af [SLP][NFC]Use std::optional::value_or.
004485690e8e Revert "llvm/lib/CodeGen/TargetSchedule.cpp:132:12: warning: Assert statement modifies 'NIter'" (#91079)
18d1df4633c3 llvm/lib/CodeGen/TargetSchedule.cpp:132:12: warning: Assert statement modifies 'NIter' (#90982)
0d493ed2c6e6 Revert 4 last AMDGPU commits to unbreak Windows bots
a98a6e95be1b Add clarifying parenthesis around non-trivial conditions in ternary expressions. (#90391)
028f1b078193 [libc++] Fix P1206R7 feature test macros (#90914)
cb015b9ec944 [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (#90377)
7ee6288312e8 [Support] Use StringRef::operator== instead of StringRef::equals (NFC) (#91042)
76aa042dde6b [libc++] Adjust some of the [rand.dist] critical values that are too strict (#88669)
caacf8685ac4 [DAG] Fold freeze(shuffle(x,y,m)) -> shuffle(freeze(x),freeze(y),m) (#90952)
1e3c630fd1e8 [MLIR] Extend floating point parsing support (#90442)
294eecd4cbd8 [clang][docs] fix rendering issue in UsersManual.rst (#90308)
554459a02f2a [BOLT] Fix runOnEachFunctionWithUniqueAllocId (#90039)
1343e6886287 [C API] Add function to create ConstantRange attributes to C API (#90505)
f16e234f1126 [InstCombine] Do not request non-splat vector support in code reviews (NFC) (#90709)
96aac6798bf6 [lld] Error on unsupported split stack (#88063)
a42a2ca19b23 Avoid buffer hoisting from parallel loops (#90735)
1022636b0ce3 [libc] Fix assert dependency on macro header (#91036)
e7939d0df6ba [Instrumentation] Support verifying machine function (#90931)
b958ef19489e Update GettingInvolved.rst (#91008)
666679a55912 [flang] Fix -Wunused-but-set-variable in lib/Evaluate
cd3a4c31bc96 [Attributor][NFC] update tests (#91011)
0c7e706c08fe [AArch64] Pre-commit another test case for #90936. NFC
a441645f80be [tsan] Don't crash on vscale (#91018)
e5cbe8fd9c12 [MemProf] Optionally match profiles on to manually hinted hot/cold new (#91027)
b05a12e9d0b6 Let `memref.expand_shape` implement `ReifyRankedShapedTypeOpInterface` (#90975)
5d81b1c50a6e [WebAssembly] Add all remaining features to bleeding-edge (#90875)
3191e0b52725 [Clang][Sema] Fix template name lookup for operator= (#90999)
03972261a938 [SLP]Fix PR90892: do a correct sign analysis of the entries elements in gather shuffles.
48039b195bf0 Revert "[gn] port 2d4acb086541 (LLVM_ENABLE_CURL)"
385faf9cdefe [ARM/X86] Standardize the isEligibleForTailCallOptimization prototypes (#90688)
9620d3ee3ee9 [SLP][NFC]Add a test with incorrect casting of shuffled gathered values, NFC.
4e6d30e2c17f [clang] Note that optnone and target attributes do not apply to nested functions (#82815)
b8d38bb56d59 Fix dap variable value format issue (#90799)
2cde0e2f9779 Revert "[BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)"
9299a136dc34 [DirectX] Remove unneccary check lines (#90979)
7ec698e6edf5 AMDGPU: Add tests for minimum and maximum intrinsics (#90997)
3cf574da407b [clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (#90965)
ca8b064973b5 Revert "[lldb] Unify CalculateMD5 return types" (#90998)
f561daf989cf [InstCombine] Add example usage for new Checked matcher API
1708788d2d10 [InstCombine] Add non-splat test for `(icmp (lshr x, y), x)`; NFC
d8428dfeb8d9 [PatternMatching] Add generic API for matching constants using custom conditions
285dbed147e2 [Inliner] Propagate callee argument memory access attributes before inlining
f8ff51e1b086 [Inliner] Add tests for not propagating `writable` if `readonly` is present; NFC
70b79a9ccd03 [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (#90994)
2f58b9aae2d6 [lldb] Unify CalculateMD5 return types (#90921)
f8a9973f8c1e [flang][cuda] Add verifier for cuda_alloc/cuda_free (#90983)
a4d10266d20b [VectorCombine] Add foldShuffleToIdentity (#88693)
46c2d9366243 [StandardInstrumentation] Annotate loops with the function name (#90756)
a8fbe500fe2e [lldb] Add TeeLogHandler to log to 2 handlers (#90984)
e2b3e4ea9f2d [lldb][NFCI] Unify DW_TAG -> string conversions (#90657)
401ecb4ccc2a [LV] Add test showing miscompile with store reductions and RT checks.
76508dce4380 [AMDGPU] Fix mode register pass for constrained FP operations (#90085)
fc398a112d26 [mlir][sparse] test optimization of binary-valued operations (#90986)
dce13b421775 [mlir,test] Convert text files from CRLF to LF
f34a5205aa48 [clang,test] Convert text files from CRLF to LF
a56f0b51dd98 AMDGPU: Use umin in set.rounding expansion
121bef76df41 [docs,utils] Convert text files from CRLF to LF
b9ae06ba1593 [test] Convert text files from CRLF to LF
2265df9696d5 [test] Fix CodeGen/DirectX/strip-fn-attrs.ll
804202292b76 [FMV][AArch64] Don't optimize backward compatible features in resolver. (#90928)
8a0073ad4658 [CostModel][X86] Treat lrint/llrint as fptosi calls (#90883)
3563af6c06eb [DAGCombiner] In mergeTruncStore, make sure we aren't storing shifted in bits. (#90939)
a657440bc695 [tools,test] Convert text files from CRLF to LF
d53425e2a33a [DebugInfo,test] Convert text files from CRLF to LF
54d6f6626d93 [AArch64] Add test for #90936. NFC
f9d91fbe8651 [lldb] Always emit diagnostic events to the system log (#90913)
49c5f4d56a89 SystemZ: Fold copy of vector immediate to gr128 (#90706)
ac46eeaea8bc [clang-tools-extra,test] Convert text files from CRLF to LF
c7ad12d0d760 AMDGPU: Try to fix build error with old gcc
0faf49420086 [RISCV] Make parseArchString only accept [a-z0-9_]. (#90879)
7a6847e00142 [RISCV] Add partial validation of Z extension name to RISCVISAInfo::parseNormalizedArchString (#90895)
55ad29489309 [lld,test] Convert text files from CRLF to LF
528f5ba7af27 [lldb] Create a single Severity enum in lldb-enumerations (#90917)
8d946c71712d [clangd] use existing functions for code locations in the scopify enum tweak (#88737)
2755c69098c9 [mlir][linalg] Vectorize unpack op without masking (#89067)
6c4dedde0868 [libc++][modules] Uses _LIBCPP_USING_IF_EXISTS. (#90409)
a06c1fefd127 Revert "[NFC] Enable atomic tests on AIX"
ebbc5de7db45 [M68k] Correctly emit non-pic relocations (#89863)
56b8bd77445f [RISCV] Add Sched classes for vector crypto instructions (#90068)
bab10981f3c7 [lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)
4821882cdfe4 [RISCV][llvm-mca] Add vector crypto llvm-mca tests for P600
d13f635201b7 [RISCV] Use Sched*MC for Zvk MC instructions
692e887c7d77 [GlobalISel] Use some standard matchinfo defs. NFC.
01e91a2dde49 [OpenACC] Implement copyin, copyout, create clauses for compute construct
40cc96e7ece7 [VPlan] Remove unused VPWidenCanonicalIVRecipe::getScalarType (NFCI).
1cde1240ed6e [AMDGPU] Use replaceOpcodeWith instead of applyCombine_s_mul_u64. NFC.
5fc576956e3b [MLIR][LLVM] Exporter skip over inlined frame without debug scope (#90915)
69f144230225 [LLVM] BasicTTIImpl allow unknown type during legality checking (#89848)
054f7c056541 [OpenACC] Implement copy clause for compute constructs.
99ca40849dda [AMDGPU] Remove unneeded calls to setInstrAndDebugLoc in matchers. NFC.
3f1fef369935 [RISCV] Support interleaved accesses for scalable vector. (#90583)
bd909d2e6f26 [OpenACC] Implement no_create and present clauses on compute constructs
6517c5b06891 [LV][NFC]Address last comments from https://github.com/llvm/llvm-project/pull/88025.
3fffe6cb9235 [NFC][x86_64][Test Only] Disable for san coverage for lsan on all x86_64 for now (#90750)
bccb7ed8ac28 Reapply "[LV] Improve AnyOf reduction codegen. (#78304)"
a13c5140a2a2 [OpenACC] Implement firstprivate clause for compute constructs
72e07d48e073 [AMDGPU] Simplify applySelectFCmpToFMinToFMaxLegacy. NFC.
cda8270981b6 [flang] Source code location for IF statements and constructs (#90853)
9c8b0d4ef630 Use FileCheck in new clang-tidy/infrastructure/config-files.cpp tests
327bfc971e4d Revert "[lldb] Fix TestSharedLibStrippedSymbols for #90622"
cd4287bc44fc [AMDGPU] Convert PrologEpilogSGPRSpills from DenseMap to sorted vector (#90957)
81003f23f036 [X86] combineBitcastvxi1 - peek through FREEZE nodes when determining width of the original SETCC node
70d11ffb58e4 [X86] Add test coverage for #90847
a48ebb827640 [VPlan] Check type directly in ::isCanonical (NFC).
fcf86cc57754 [flang][OpenMP] Refactor nested default clause tests (#85978)
642117105d4f [Clang] Implement P2809: Trivial infinite loops are not Undefined Behavior (#90066)
5850f6ba9b2c [Flang][OpenMP] Parse and semantically analyze common blocks in map clauses correctly (#89847)
91446e2aa687 Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
18e7dcb7c576 [mlir][emitc] Arith to EmitC: handle floating-point<->integer conversions (#87614)
1d43cdc9f5ba [LV][EVL]Support reversed loads/stores.
fc7e74e879f3 [CostModel][X86] getCastInstrCost - improve CostKind adjustment when splitting src/dst types
bcdbd0bf50a3 [llvm][DataFlowSanitizer] Don't pass vector by value (NFC)
2933ef2da910 [clang][HIPUtility] Iterate by const reference (NFC)
256797e59442 [NFC][RemoveDIs] Fix some comments in DebugProgramInstruction.h
1efc1918502b [clang][Driver] Iterate with const reference (NFC)
6086f694df10 [clang-tidy] Add 'cert-int09-c' alias for 'readability-enum-initial-value' (#90868)
fb1c2dbc0a6b Revert "Reapply "[clang][Interp] Create full type info for dummy pointers""
4e67b5058ee5 AMDGPU: Add more tests for atomicrmw handling
9f9856d62355 AMDGPU: Update name for amdgpu.no.remote.memory metadata
385f59f9f570 [llvm-mca] Teach MCA constant registers do not create dependencies (#89387)
b4e751e2ab0f AMDGPU: Optimize set_rounding if input is known to fit in 2 bits (#88588)
7c64b53932b7 [gn build] Port ed299b3efd66
e47d7c697572 Fix MSVC signed/unsigned mismatch warning. NFC.
ed299b3efd66 [GlobalISel] Optimize ULEB128 usage (#90565)
8480c93e36b3 [clang] pointer to member with qualified-id enclosed in parentheses in unevaluated context should be invalid (#89713)
e4b04b391ffc [mlir] make transform.foreach_match forward arguments (#89920)
edbe6ebb4dbc SystemZ: Don't promote atomic store in IR (#90899)
6535e7a4004e SystemZ: Remove redundant copy tests from 75f4baa70
44648ccb8b7e [AMDGPU] Always emit lds_size in PAL ELF Metadata 3.0 (#87222)
9731b77e8026 AMDGPU: Implement llvm.set.rounding (#88587)
70b5a22678cf [hwasan] Don't crash on vscale allocas (#90932)
e450f987286b [lldb] Fix Scalar::GetData for non-multiple-of-8-bits values (#90846)
b03e7a51dd9b [HWASAN] Regenerate a test (#90943)
922ab7089b2e [MLIR][OpenMP] Extend omp.private materialization support: `dealloc` (#90841)
f8fedfb68021 [lldb] Fix TestSharedLibStrippedSymbols for #90622
4ad696231bc7 [mlir] Fix test added in 105c992c83aa527c6c50d60becd4d66b476b0a32.
e8cda376a74c [llvm][bazel] Fix BUILD after dcf376aae738252fb52a73bcf7f58fd030e15ee2.
37f6ba4fb2db [flang][OpenMP] Fix construct privatization in default clause (#72510)
6b948705a052 [AggressiveInstCombine] Inline strcmp/strncmp (#89371)
b62c45cfe514 Fix sanitize problem. (#90800)
d2af1ea81dd0 [clang-format][NFC] Minor improvement to parseLabel()
43a38e2759e8 [BoundsChecking] Handle vscale allocas (#90926)
b0eeacb20379 [InstCombine] Fold icmp of trunc nuw/nsw (#90436)
fc83eda46ed2 [mlir][sparse] make sparse compiler more admissible. (#90927)
fd3e7e3a1e66 [X86] Adding lowerings for vector ISD::LRINT and ISD::LLRINT (#90065)
1949856126df [mlir][sparse] add linalg elt-wise fusion to sparsifier pipeline (#90924)
6d7d8e5b59cb [Modules] Detect ODR mismatches for enums in non-C++ like in C++. (#90298)
aae3835ecdf5 [lld-macho] Make category merging symbol names match ld64 (#90864)
ff0d09c4965d [lld-macho][NFC] Simplify category merging code (#90856)
3016c0636fd2 [NFCI][msan] Use IntPtr for vscales origin for consistency (#90920)
18707f53d6d2 [clang][PGO][test] Relax FileCheck patterns in debug-info-instr_profile_switch.cpp (#90916)
ff210b94d449 [FMV][NFC] Add test for bti and mte check in resolver.
9058ce523a73 [msan] Add vscale origin test
83fdcf234ff3 [msan] Fix vscale alloca poisoning (#90912)
a7e9e3eb8b44 [lldb] Add a log level to Host::SystemLog (#90904)
2d15855adf6a [lldb] [debugserver] address preprocessor warning, extra arg (#90808)
9dca7dde3ff2 Fix MLIR BUILD
954d00e87cdd [lldb] MachO delay-init binaries don't load as dependent
4113e15153d5 [clang][PGO] Apply artificial DebugLoc to llvm.instrprof.increment instructions (#90717)
39172bcfe4ca [HLSL] Cleanup TargetInfo handling (#90694)
0c2a508f4da2 Bump actions runner image used for libc++'s builders.
26060de06378 [flang][cuda] Lower device/managed/unified allocation to cuda ops (#90623)
d129ea8d2fa3 [libcxx] Align `__recommend() + 1`  by __endian_factor (#90292)
18058f2a3285 [llvm][GraphWriter] Resize std::string, instead of reassigning to substr (NFC)
90bd7234e36e Add support of the next Ubuntu (Ubuntu 24.10 - Oracular Oriol)
7298ae3b6d97 [clang][CodeGen] Fix in codegen for __builtin_popcountg/ctzg/clzg (#90845)
b24aeef1cc46 [gn build] Port 17f006207cb2
17f006207cb2 [libc++] Granularize <ostream> (#85537)
9d4575c910c2 [llvm] Make lambda take const reference to prevent unneeded copy (NFC)
9cd218e4270c [BOLT] Refactor BOLT reserved space discovery (#90893)
99b4532b8b72 [BOLT] Add support for Linux kernel .smp_locks section (#90798)
11f76b851105 [AMDGPU] Use some merging/unmerging helpers in SILoadStoreOptimizer (#90866)
bce3bfced5fe [LV] Add another epilogue test with an AnyOfReduction of i1.
eea81aa29848 Revert "[OpenMP][TR12] change property of map-type modifier." (#90885)
0e5ff6251fa2 [libc] add hashtable fuzzing (#87949)
38f9c013a090 SystemZ: Stop casting fp typed atomic loads in the IR (#90768)
8805465e1d5b [RemoveDIs][Clang] Resolve DILocalVariables used by DbgRecords (#90882)
dcf376aae738 [DebugInfo] Make DISubprogram's hashing always produce the same result (#90770)
57216f7bd64a [AMDGPU] Support byte_sel modifier for v_cvt_f32_fp8 and v_cvt_f32_bf8 (#90887)
d4a25976df79 Implement a subset of builtin_cpu_supports() features (#82809)
0558c7e01db8 [gn] port 2d4acb086541 (LLVM_ENABLE_CURL)
64f6f905bcb0 [MLIR][LLVM] CallSiteLoc without caller scope not translatable (#90759)
ee63f287e013 [lldb-dap] Minor cleanup.
c7209cbb8be7 [LV] Assert that there's a resume phi for epilogue loops (NFC).
86ab10c4d972 [flang] Added extension point callbacks to default FIR optimizer pipeline. (#90674)
2d4acb086541 LLDB Debuginfod tests and a fix or two (#90622)
e4bb6634cd07 [SLP][X86] Add test coverage for rint/lrint/llrint fp calls
49bac13acdb8 [CostModel][X86] Add test coverage for rint/lrint/llrint fp calls
aa5ff68247dd [HLSL] Shore up floating point conversions (#90222)
e06d6ed1ef08 [SamplePGO] Handle FS discriminators in SampleProfileMatcher (#90858)
5445a35d6ef5 [RISCV] Detect empty extension name after parsing MajorVersion in parseNormalizedArchString. (#90790)
1aeb64c8ec7b Reapply "[clang][Interp] Create full type info for dummy pointers"
62c29593be31 [clang] NFC: cxx_status mark P0522R0 as unreleased
4fd319ae273e Revert#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
1c80d322c4a6 [WebAssembly] Sort target features (NFC) (#90777)
941eab102f4a [RISCV] Make parseNormalizedArchString only accept [a-z0-9_]. (#90815)
eb8236381bcf [AMDGPU] Group multiple single use producers under one single use instruction. (#90713)
e71eacc5b197 [mlir][sparse] Support explicit/implicit value for complex type (#90771)
0708500ce014 [Clang] Remove bogus assert in are[Lax]CompatibleSveTypes()
44645996b0ab [RISCV] Add smstateen extension (#90818)
a131525908a9 [flang][cuda] Compute matching distance in generic resolution (#90774)
520ccca2f91f NFC: fix clang format spacing and documentation (#90775)
0638e222f363 [SDPatternMatch] Add m_CondCode, m_NoneOf, and some SExt improvements (#90762)
fbaba780f6b1 [lldb][test][FreeBSD] Remove xfails from TestGDBRemoteLoad (#84026)
d11afe1c7439 SystemZ: Handle gr128 to fp128 copies in copyPhysReg (#90861)
eb3a67173093 [AArch64] Avoid vector interleave instructions when NEON and SVE are unavailable (#90723)
a12622543de1 Reapply "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
f5b4e20a5ab8 [llvm][AArch64] Fix Arm 32 bit build warnings (#90862)
646559e90b83 [clang][Interp][NFC] Make a test array smaller
d824d879f46c [offload] - Add omp as a dependency for clang-bootstrap-deps (#90793)
cb5d6a5639ab [llvm][ADT] Fix Arm 32 bit compilation warning in lazy atomic pointer
ab8ac36f10ee [RISCV] Add list of supported profiles to -print-supported-extensions (#90757)
4aca302f5a82 [gn build] Port c2d892668b7f
aac588abfa03 Reapply "[clang][Interp] Fix locals created in ExprWithCleanups"
6ceb1c0ef9f5 [analyzer] Remove untrusted buffer size warning in the TaintPropagation checker (#68607)
9b9a2a2fd0aa [gn] port dcbf0fcd0d55 (SBLanguages.h python)
46a5de69c03a [libc++] Remove a few __has_foo defines in __config (#90511)
e020e287c773 [AMDGPU] Modernize some syntax in SILoadStoreOptimizer. NFC.
1bb929833b18 [Inline][Cloning] Drop incompatible attributes from `NewFunc`
42c7cb69694d Reapply "[Inline][Cloning] Defer simplification after phi-nodes resolution"
8c0937f5629e Fix test HipStdPar/global-var.ll
82f72c1aa8ef [clang][Sema] Re-use existing BinaryOperator if possible (#90625)
d6173167df31 [Flang] Get fir::SequenceType from hlfir::ExprType before getShape. (#90055)
3fe282a83d2b [Pass] Add `pre-isel-intrinsic-lowering` to pass registry (#90851)
7dfb6f571c80 [clang][Interp] Fix ignored RequiresExprs
cd683bd32cec [HipStdPar] Fix globle variable (#90627)
5e67c41a9322 [SLP]Fix PR90780: insert cast instruction for PHI nodes after all phi nodes.
33e16cae671c [compiler-rt] Fix CMake configure on Windows (#90843)
c1298878175f [OpenACC] Implement SubArray Parsing/Sema (#90796)
3a1e55904b1e SystemZ: Add some tests for fp128 atomics with soft-float (#90826)
a2f97974e670 [Clang] Prevent null pointer dereference in Sema::​CodeCompleteQualifiedId() (#90490)
7925525d330a SystemZ: Add missing predicate for bitconvert patterns (#90715)
105c992c83aa [mlir] use irdl as matcher description in transform (#89779)
11bda17254d0 [mlir-lsp] Parse outgoing request callback JSON (#90693)
a2e1f54bb7be [mlir] remove test-tranfsorm-dialect-interpreter (#89931)
155dcce40110 Reapply "[clang][Interp][NFC] Save source location of evaluating expression"
ce7700e29dfb [flang][runtime] Address PRODUCT numeric discrepancy, folding vs runtime (#90125)
1e82d506b0b2 [gn] port f0fbccb15384
427c5bfd39eb Revert "[clang][Interp] Fix locals created in ExprWithCleanups"
ebcb04ae8825 Revert "[clang][Interp][NFC] Save source location of evaluating expression"
1c7673b91d4d [clang][Interp] Fix locals created in ExprWithCleanups
de04e6cd90b8 [clang][Interp][NFC] Save source location of evaluating expression
3d8a44d542b1 [clang][Interp][NFC] Refactor if condition
e5fb6564358f [clang][Interp] Handle RecoveryExprs
b6d24cb01877 DAG: Implement softening for fp atomic load (#90839)
35e73e7cc8c4 [X86] Regenerate memcpy-scoped-aa.ll
5d9889a6c6c9 [clang][Interp] Fix zero-initializing records with non-trivial ctors
f2daa32fcaa0 [clangd] Remove potential prefix from enum value names (#83412)
779f40c088c8 [Flang][OpenMP] Give better errors during parsing failures (#90480)
981aa6fcf68f [AMDGPU] Fix incorrect stepping in gdb for amdgcn.end.cf intrinsic. (#83010)
2252c5c42b95 Revert "[clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)"
c2f29caee4b8 [libc++][NFC] Explicitly delete assignment operator in tuple (#90604)
69e7cb587304 [flang] Add a test for fir.real debug conversion. (#90726)
d9fc5babb96c DAG: Implement softening for fp atomic store (#90840)
175d2971020c [LoopUnroll] Add CSE to remove redundant loads after unrolling. (#83860)
b6328db80b42 [clang][CodeGen] Put constant initializer globals into constant addrspace (#90048)
f17b1fb6673e [Clang][CodeGen] Optimised LLVM IR for atomic increments/decrements on floats (#89362)
171aeb20ad46 [DAG] SelectionDAG.computeKnownBits - add NSW/NUW flags support to ISD::SHL handling (#89877)
d00ed836e777 [lldb] Fix build on FreeBSD
c32a4f83b59c [ORC] Allow removal of ObjectLinkingLayer Plugins.
a015f015db21 [lldb][test][FreeBSD] Remove corefile test xfails (#84022)
528b512b13e2 [lldb][test][FreeBSD] Narrow vectorcall xfail to x86 platforms (#84024)
176d6fbed398 [lldb][Docs] Remove .txt copy of tutorial (#90585)
e19f7221412f [lldb][Docs] Use proper LLDB/GDB project branding in tutorial (#90712)
16096325a5ff [clang][Docs] Add release note for {target}-none-{environment} triple normalization changes (#90734)
cd132dcbeb0f [clang] fix(85447): clang 18.1.0 crashes in clang::ASTContext::getTypeInfoImpl (#89850)
8bec96447ffe [lldb][bazel] Fix BUILD after dcbf0fcd0d5572f7001ebdd3bda6062593ec172b. (#90825)
15027be6a5c5 SystemZ: Fix test failing the verifier
376bc73b34d2 SystemZ: Fix accidentally commented out run line in test
597a3150e932 [clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)
e3f42b02a412 [RISCV] Expand PseudoTAIL with t2 instead of t1 for Zicfilp. (#89014)
b86e0992bfa6 [clang] Enable C++17 relaxed template template argument matching by default (#89807)
59ab29213def [BOLT] Register Linux kernel dynamic branch offsets (#90677)
dd09a7db03f8 [BOLT] Add split function support for the Linux kernel (#90541)
df91cde4da62 [alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90704)
1f1a41792562 [clang-tidy] Relax readability-const-return-type (#90560)
889e60db2daf [clang-tidy] Ignore casts from void to void in bugprone-casting-through-void (#90566)
a370d57b9ff9 [NFC][clang-tidy] update check list document (#90813)
06449095c220 [RISCV] Avoid using x7/t2 for indirect branches which need landing pad. (#68292)
3d65bd935a91 [NFC] Reduce copies created of ConstantRange when getting ConstantRangeAttributes (#90335)
ad7ee900c70b [BOLT][NFC] Add BOLTReserved to BinaryContext (#90766)
d484c4d3501a [InterleavedLoadCombine] Bail out on non-byte-sized vector element type (#90705)
4b75fcf0a50f Triple::normalize: Use none as OS for XX-none-ABI (#89638)
8c64a304123b [WebAssembly] Disable reference types in generic CPU (#90792)
56e4111f9da4 [flang] Update test results (#90791)
78885395c802 [mlir][sparse] support tensor.pad on CSR tensors (#90687)
0af415d436e8 [compiler-rt][CMake] Do not explicitly set CMP0114 to old (#90386)
bf447e27d2ac [llvm/Support] Make `llvm::sys::RWMutex` Lockable (#90667)
e98cb360884d [flang][build] Fix build warning (#90789)
500dda049ea1 [RISCV] Refactor version major version parsing in parseNormalizedArchString. NFC
a7e07988549c [RISCV] Use binary search to look up supported profiles. (#90767)
41466a177a95 [SelectionDAG] Correct the implementation of m_AllOnes. (#90776)
c2d892668b7f [llvm][ctx_profile] Add instrumentation (#90136)
a2be1b8d0332 [msan] Don't modify CFG iterating it (#90691)
0f8d97cccc03 [Hexagon] Fix hexagon-copy-hoisting.mir (#90740)
505f6da1961a [flang] Ensure all warning/portability messages are guarded by Should… (#90518)
37277d8da8af Modify gmlt.test to XFAIL on apple platforms correctly. (#90779)
3502d340c927 [flang] Adjust transformational folding to match runtime (#90132)
a1c12794226f [WebAssembly] Add missing feature methods (#90644)
f2e808932ced [flang] Intermix messages from parser and semantic analysis (#90654)
b8c301f6e22a Fix the regex in the sbapi python script
82383d5f3fa8 [mlir][tosa] Rename Tosa Div op to IntDiv Op (#80047)
fa9e96a2e552 Skip pexpect test under ASAN
dcbf0fcd0d55 [lldb] Use Python script to generate SBLanguages.h (#90753)
c4e8e2c67bbf Skip timing-sensitive test under ASAN
f2d71305792d [BOLT][NFC] Simplify DataAggregator::getFallthroughsInTrace (#90752)
fc382db239ab [SLP]Improve comparison of shuffled loads/masked gathers by adding GEP cost.
59ef94d7cf3c [SLP]Do not include the cost of and -1, <v> and emit just <v> after MinBitWidth.
e846778e52f8 [VPlan] Make CallInst optional for VPWidenCallRecipe (NFCI).
b88d21127f31 Install generated API headers into LLDB.framework (#90666)
465807eedcbf [flang] Catch missing "not a dummy argument" cases (#90268)
71113047298c [flang] Fix CHECK() crash in module file generator (#90234)
f0fbccb15384 [clang-tidy] Enable plugin tests with LLVM_INSTALL_TOOLCHAIN_ONLY (#90370)
6d44a1ef55b5 [ELF] Adjust --compress-sections to support compression level
91fef0013f26 [ELF] Catch zlib deflateInit2 error
1ca600586a61 [alpha.webkit.UncountedCallArgsChecker] Support more trivial expressions. (#90414)
aca511734f5f [libc] Implement fcntl() function (#89507)
d1b3648ed9da [flang] always run PolymorphicOpConversion sequentially (#90721)
28869a704ef5 Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610) (#90692)
cf3c714e4bd7 [RISCV] Merge RISCVISAInfo::updateFLen/MinVLen/MaxELen into a single function. (#90665)
09f4b06dde65 [RISCV] Refactor profile selection in RISCVISAInfo::parseArchString. (#90700)
7396ab1210a2 [NVPTX] Fix 64 bits rotations with large shift values (#89399)
cf2f32c97f8f [MIR] Serialize MachineFrameInfo::isCalleeSavedInfoValid() (#90561)
6c369cf937b7 [AArch64] Changes missing from cfca97742723 (#90314)
987c036f5413 [bazel][clang] Add missing dependency for 6e31714d249f857f15262518327b0f0c9509db72
477c705cb0d7 [clang][modules] Allow including module maps to be non-affecting (#89992)
754072e9a5c0 [NFC][libc++] Fixes comment indention.
a764f49b4ae8 [DirectX backend] generate ISG1, OSG1 part for compute shader (#90508)
6dfaecf077ad [mlir][Vector] Add patterns for efficient unsigned i4 -> i8 conversion emulation (#89131)
a00bbcbe7c7b [libc++] Remove _LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS (#90512)
4cbe7607c754 [LLDB][ELF] Fix section unification to not just use names. (#90099)
6e31714d249f [analysis] assume expr is not mutated after analysis to avoid recursive (#90581)
fa535452b250 [llvm-install-name-tool] Error on non-Mach-O binaries (#90351)
00821fed0996 Revert "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
2f01fd99eb8c [RemoveDIs] Load into new debug info format by default in LLVM (#89799)
167427f5db02 [AMDGPU] change order of fp and sp in kernel prologue (#90626)
92266885964f [mlir][ArmSME] Add a tests showing liveness issues in the tile allocator (#90447)
0606747c9664 [AMDGPU] Remove some pointless fallthrough annotations
39e24bdd8ee5 MachineLICM: Allow hoisting REG_SEQUENCE (#90638)
e83c6ddf46d0 [SLP][NFC]Add a test with the non profitable masked gather loads.
e22ce615fe31 [z/OS] treat text files as text files so auto-conversion is done (#90128)
78270cb81bde [UndefOrPoison] [CompileTime] Avoid IDom walk unless required. NFC (#90092)
f050660f4a60 [OpenMP][TR12] change property of map-type modifier. (#90499)
be5075ab8daf [CUDA] make kernel stub ICF-proof (#90155)
f07a2edc6465 [lldb] Teach LocateExecutableSymbolFile to look into LOCALBASE on FreeBSD (#81355)
cfca97742723 [AArch64][TargetParser] autogen ArchExtKind enum (#90314)
167b50669c03 [libcxx][ci] In picolib build, ask clang for the normalised triple (#90722)
e312f0723ceb [Offload] Fix CMake detection when it is not found (#90729)
0647b2a3caed [gn build] Port df241b19c952
9ebf2f8a67cc Revert "[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)"
efce8a05aa4e Revert "Constant Fold logf128 calls"
034912d58361 [SystemZ][z/OS] Build in ASCII 64 bit mode on z/OS (#90630)
68b863b7fa68 [gn] port 088aa81a5454 (LLVM_HAS_LOGF128)
57d0d3b4d638 [Flang][OpenMP] Handle more character allocatable cases in privatization (#90449)
088aa81a5454 Constant Fold logf128 calls
df241b19c952 [z/OS] add support for z/OS system headers to clang std header wrappers (#89995)
442990b93773 [gn] port 8cde1cfc60e3 (LLVM_APPEND_VC_REV for lit)
576261ac8f80 [SLP]Improve reordering for consts, splats and ops from same nodes + improved analysis.
67e726a2f739 [SLP]Transform stores + reverse to strided stores with stride -1, if profitable.
803e03fbb7cd [llvm] Revive constructor of 'ResourceSegments'
ccb198dc62d3 [AArch64] NFC: Add RUN lines for streaming-compatible code. (#90617)
f898161bfa95 [AMDGPU] Fix image_msaa_load waitcnt insertion for pre-gfx12 (#90710)
5fb1e2825f0a [AMDGPU] Enhance s_waitcnt insertion before barrier for gfx12 (#90595)
582c6a82b4bc [llvm] Remove unused constructor (NFC)
0b21b25eac0f [AMDGPU] Do not optimize away pre-existing waitcnt instructions at -O0 (#90716)
fdf206c10cce [LLVM][SVE] Improve legalisation of fixed length get.active.lane.mask (#90213)
9bebf25ecbe6 [AMDGPU][AsmParser][NFC] Generate NamedIntOperand predicates automatically. (#90576)
eb6097a79e79 [lldb][Docs] Various style improvements to the tutorial (#90594)
3a3bdd8fb63f [clang] Fix crash when destructor definition is preceded with '=' (#90220)
7565b20b50b2 [ORC] Switch ObjectLinkingLayer::Plugins to shared ownership, copy pipeline.
9a9cff15a15b [Modules] Process include files changes (#90319)
0c42fa361d57 [lldb][Docs] Sort documented packets alphabetically (#90584)
14b66fe5f36a [AArch64][MC]Add diagnostic message for Multiple of 2/4 for ZPR128 (#90600)
23f0f7bda0c1 [AArch64] Additional tests for negative SVE addressing modes. NFC
cd46c2c1ba04 Tweak BumpPtrAllocator to benefit the hot path (#90571)
d392520c645b [RISCV] Convert vsetvli mir tests to use $noreg instead of implicit_def. NFC
74aa1abfaec6 [InstCombine] Canonicalize scalable GEPs to use llvm.vscale intrinsic (#90569)
3684a38d33d7 Revert "[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes." (#90701)
0fb50371a108 [RemoveDIs] Fix SIGSEGV caused by splitBasicBlock (#90312)
bafc5f42c013 [Pipelines][Coroutines] Tune coroutine passes only for ThinLTO pre-link pipeline (#90690)
93b9b7c4c1f6 [RISCV] Add CHECK lines for test added in 7840fa9. NFC
0632cb38a62c [flang][MLIR] Outline deallocation logic to `omp.private` ops (#90592)
3e930864eb39 Reland [flang][cuda] Update attribute compatibily check for unified matching rule
240592a772a4 [alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90180)
410d6350eda3 [Sema] Avoid an undesired pack expansion while transforming PackIndexingType (#90195)
306ae14face2 Revert "[flang][cuda] Update attribute compatibily check for unified matching rule" (#90696)
8e9b1e9aa83b [clang-format] Fix a bug in annotating struct braces (#90555)
86e5d6f1d832 [flang][cuda] Update attribute compatibily check for unified matching rule (#90679)
ef1dbcd60f81 [Windows] Restrict searchpath of dbghelp.dll to System32 (#90520)
63a296930110 [cross-project-tests] Update code to use mlir::cast (NFC)
b1b1bfa7bea0 [Coroutines][Test] Only run coro-elide-thinlto under x86_64-linux (#90672)
986f832cff9c [flang] Added fir.dummy_scope operation to preserve dummy arguments association. (#90642)
8cde1cfc60e3 [AIX] Add git revision to .file string (#88164)
75f729541960 [mlir][Tensor] Fix unpack -> transpose folding pattern for padded unpacks (#90678)
a03eeb0e98fe [SelectionDAG][X86] Add a NoWrap flag to SelectionDAG::isAddLike. NFC (#90681)
85f28cf43191 [flang] Fixed -g compilation issues caused by #90484. (#90683)
0f628fdb1aa8 Revert "[lldb] Support custom LLVM formatting for variables (#81196)"
278774e428c2 [InstallAPI] Cleanup I/O error handling for input lists (#90664)
2647bd73696a [RISCV][ISel] Fix types in `tryFoldSelectIntoOp` (#90659)
805f01f80571 [X86] Rename test to correct bug number. NFC
d688162eba31 [X86] Pre-commit test for pr90668. NFC
805e08ef26a4 [BOLT] Fix a warning
cd7a7a56fc73 Add basic char*_t support for libc (partial WG14 N2653) (#90360)
89f833588e57 [flang][cuda] Allow PINNED argument to host dummy (#90651)
fb85a282d125 Fix -fno-unsafe-math-optimizations behavior (#89473)
51aac5b04362 [SLP][NFCI]Improve compile time for phis with large number of incoming values.
19f4d68252b7 [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)
ecec1311fe05 [flang] Remove double pointer indirection for _QQEnvironmentDefaults (#90615)
0232b77e1455 [Coroutines][Test] Specify target triple in coro-elide-thinlto  (#90549)
c665e49911a0 [BOLT] Add ORC validation for the Linux kernel (#90660)
1fb5083aed3f [flang][cuda] Accept variable with UNIFIED attribute in main (#90647)
699243343439 [Clang][NFC] Fix status colors
75f4baa70582 SystemZ: Implement copyPhysReg between vr128 and gr128 (#90616)
928db7e7edc5 [OpenMP][AIX] Implement __kmp_is_address_mapped() for AIX (#90516)
2224dce7e490 [DFSan] Replace `cat` with `cmake -E cat` (#90557)
7538df90aee1 [llvm][profdata][NFC] Support 64-bit weights in ProfDataUtils (#86607)
05d04f0a057b [RISCV] Make RISCVISAInfo::updateMaxELen extension checking more robust. Add inference from V extension. (#90650)
70ada5b178a1 NFC add a new precommit test case for PPCMIpeephole (#90656)
cf49d077fd75 Revert "[GVNSink] Fix incorrect codegen with respect to GEPs #85333" (#90658)
a1423ba42787 [mlir][tensor] Fix integration tests that uses reshape ops. (#90649)
4e6f6fda8b05 [IR] Use StringRef::operator== instead of StringRef::equals (NFC) (#90550)
9b07a035f180 [Hexagon] Let ArrayRef infer the array size (NFC) (#90534)
5f88f0c63fa7 [lldb] Fix a warning
52cb95378969 [flang] Update calls to isa/dyn_cast/dyn_cast_or_null
7cbaaed63612 [mlir][sparse] fix sparse tests that uses reshape operations. (#90637)
41f9c78f6a4e [OpenACC] Fix test failure from fa67986d
0ecc1646cbbb [libc++][ranges] Implement LWG4053 and LWG4054 (#88612)
1c979ab7e59f [GVNSink] Fix incorrect codegen with respect to GEPs #85333 (#88440)
fa67986d5b30 [OpenACC] Private Clause on Compute Constructs (#90521)
8009bbec59d1 Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" (#90152)
f061a395ffb7 [Clang][Sema][Parse] Delay parsing of noexcept-specifiers in friend function declarations (#90517)
7662f95f2c76 [WebAssembly] Add preprocessor define for half-precision (#90528)
d2353695f8cb [mlir][NFC] update code to use `mlir::dyn_cast/cast/isa` (#90633)
49bb99395966 [BOLT] Fix build-time assertion in RewriteInstance (#90540)
7a8d15e919dd [lldb] Support custom LLVM formatting for variables (#81196)
40083cf378e8 [libc++] Some tests are missing include for `numeric_limits` (#90345)
f0cc3735217d [RISCV] Drop unnecessary curly braces in RISCVISAInfo:parse*ArchString. NFC
f565b79f9fc2 [RISCV] Handle fixed length vectors with exact VLEN in lowerINSERT_SUBVECTOR (#84107)
a754ce04893f [LangRef] Fix build warning.
9af7f4061b0a [libc++][NFC] Fixes a status page note and a minor copy & paste error in a test (#90399)
7dd4ce484c89 [libc][stdfix] Fix overflow problem for fixed point sqrt when the inputs are close to max. (#90558)
600cae7d421e [LangRef] Try to clarify mustprogress wording. (#90510)
30badf96bbaa [MLIR][Arith] expand-ops: Support mini/maxi (#90575)
dbe376651a83 [mlir][sparse] handle padding on sparse levels. (#90527)
4cd11c986f78 Thread '--lldb-obj-root' through lldb-dotest for manual testing
6ab49fcbb237 [VP] Fix unit test failures caused by #90502
267329d7e0e7 [LegalizeDAG] Simplify interface to PromoteReduction. NFC
4631e7bad698 [Frontend][OpenMP] Add unit tests for getLeafConstructsOrSelf, NFC (#90110)
33ccd037fcd2 [flang][OpenMP] Pass symTable to all genXYZ functions, NFC (#90090)
554be97d7f7f [flang][OpenMP] Implement getIterationVariableSymbol helper function,… (#90087)
fbe8d2a22189 [flang][OpenMP] Implement getOpenMPVersionAttribute helper function, NFC (#90086)
91c52b966a09 [DAG] Pull out repeated SDLoc() from SHL/SRL/SRA combines. NFC.
38c68e0746dc [X86] Add icmp i16 test coverage
e9305fcf1b4a [X86] combineAnd/combineAddOrSub - use DAG::getNegative() helper. NFC.
97069a86193a [MLIR] Generalize expand_shape to take shape as explicit input (#90040)
539f626ecd0c [VP][RISCV] Add vp.cttz.elts intrinsic and its RISC-V codegen (#90502)
df513f86da13 [flang] Adapt PolymorphicOpConversion to run on all top level ops (#90597)
5ada3289b107 [flang][OpenMP] ensure we hit the TODO for intrinsic array reduction (#90593)
d97f25b94855 [AMPGPU] Emit s_singleuse_vdst instructions when a register is used multiple times in the same instruction. (#89601)
721c31e3bd37 Revert "[BOLT] Avoid reference updates for non-JT symbol operands (#88838)"
cc6113da826e [OpenACC] Fix ast-print for OpenACC Clauses
114a59d4d374 MachineLICM: Remove unnecessary isReg checks
a9c73f66ce96 [flang][cuda] Add fir.cuda_alloc/fir.cuda_free operations (#90525)
f815d1f71f64 [flang][cuda] Fix iv store in cuf kernel (#90551)
1b942ae3843c [RISCV] Use consume_front to parse rv32/rv64 in RISCVISAInfo::parse*ArchString. NFC (#90562)
6c32a1fdf712 [SystemZ] Enable MachineCombiner for FP reassociation (#83546)
622ec1f029b4 [gn build] Port a5cc95147ed5
ea81dafd5247 [gn build] Port 6ea0c0a28343
a7b968a57834 Adding memref normalization of affine.prefetch (#89675)
8d28e5861f8b [LoongArch] Apply clang formatting to LoongArch target. NFC
d333a0de6829 Revert "[Modules] No transitive source location change (#86912)"
c12bc57e23f8 Do not use R12 for indirect tail calls with PACBTI (#82661)
c106abfe9f3d [lldb] Fixed SyntaxWarning invalid escape sequence '\l' in lldbtest.py (#90609)
2aabfc811670 Revert "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)
b60a2b931d68 [gn] port 975eca0e6a3 (-gen-lldb-sbapi-dwarf-enum)
35e6bae62c8e Revert "[AArch64][TargetParser] autogen ArchExtKind enum (#90314)"
7ae32bf7581e [lldb] Fixed SyntaxWarning invalid escape sequence '\s' in decorators.py (#90607)
e4c0f4a2ecaf [NFC] fix typo in clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp (#90606)
adabdc12f995 Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#90497)
e50a857fb16b [AArch64] Add support for Cortex-R82AE and improve Cortex-R82 (#90440)
1c17252cf049 [NFC] Update comment in CommonOptionsParser to match documentation (#90441)
61b2a0e3336a [AArch64][TargetParser] autogen ArchExtKind enum (#90314)
5e03c0af4745 [DAGCombiner] Fix mayAlias not accounting for scalable MMOs with offsets (#90573)
82219e547bf4 [LAA] Pass maximum stride to isSafeDependenceDistance. (#90036)
5cd074fa57c2 [mlir] Add ReifyRankedShapedTypeOpInterface to tosa::TransposeOp (#88890)
bb95f5df732d [clang][Interp] Visit LabelStmt sub statements
f3ac55fab8c3 [LTO] Reset DiscardValueNames in optimize(). (#78705)
6fab3f2a2b04 [NFC][Clang] Update P2718R0 implementation status to partial supported (#90577)
af5d41e0caf2 [clang][Interp] Support CXXScalarValueInitExprs of vector type
2f9462e9e4f2 [clang][Interp] Fix initializing vectors from a list of other vectors
7faf34307ea9 [RISCV] Remove -riscv-insert-vsetvl-strict-asserts flag (#90171)
66e1d2c96a19 [NFC][LLVM][SVE] Simplify isel for BSL and NBSL. (#90233)
34c89eff64cc [InstCombine] Fold `trunc nuw/nsw (x xor y) to i1` to `x != y` (#90408)
2cb97c7e2902 [X86] Add TODO for getTargetConstantFromBasePtr to support non-zero offsets.
066dc1e05b8c [X86] combineMulToPMADDWD/combineMulToPMULDQ/reduceVMULWidth - pull out repeated SDLoc(). NFC.
3fca9d71447b [X86] combineMul - use DAG::getNegative() helper. NFC.
0061616770c1 [X86] combinePredicateReduction - use DAG::getNegative() helper. NFC.
f10685f3e606 [X86] lowerAtomicArith - use DAG::getNegative() helper. NFC.
fb2d3056618e Fix output in coro-elide-thinlto.cpp (#90579)
62dea99a7d7d [AMDGPU] Fix gfx12 waitcnt type for image_msaa_load (#90201)
f73e87f53f5d [Clang][Sema] Do not accept "vector _Complex" for AltiVec/ZVector (#90467)
10aab63c9cb4 [NFC] [tests] Don't try to remove and create the same directory
21f8cedc4aa5 [flang] Fix debug-fn-info.f90 test
fce091696921 [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (#90570)
b2b463bd8f6b [C++20] [Modules] Add signature to the BMI recording export imported modules
7ac1fb01e9b7 [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#90413)
f78949a07e33 [NFC][Clang] Add FIXME comment to the workaround for issue #89774
64248d7dee09 [PAC][lldb][Dwarf] Support `__ptrauth`-qualified types in user expressions (#84387)
a413c563bdca [Clang][Sema] Fix a bug on template partial specialization with issue on deduction of nontype template parameter (#90376)
eaee8aa0afe1 [Clang][Sema] fix a bug on template partial specialization (#89862)
29dda26c65fc Fix lock guads in PipePosix.cpp (#90572)
74e65eec48ee [clang][Interp] Handle Shifts in OpenCL correctly
c9d92d215e6b [mlir][test] Add TD example for peel+vectorize (depthwise conv) (#90200)
92ca6fcb87a1 [MLIR][LLVM] Have LLVM::AddressOfOp implement ConstantLike (#90481)
2464c1c15328 [MLIR] Sprinkle extra asserts in OperationSupport.h (#90465)
6c3110464bac [Modules] No transitive source location change (#86912)
853344d3ae8b [docs] Document which online sync-ups are no longer happening (#89361)
09e7d86b99c6 [RemoveDIs] Fix findDbgValues to return dbg_assign records too (#90471)
91a8cb781dbc Reapply "[flang] Improve debug info for functions." with regression fixed. (#90484)
eb148aecb360 [LoongArch][Codegen] Add support for TLSDESC
ff6c0cac7037 [lldb][Docs] Remove more subtitles from packets doc (#90443)
09f160c62982 [clang][analyzer] Move StreamChecker out of the alpha package. (#89247)
ce12b12d0d78 [mlir][OpenMP] Extend `omp.private` with a `dealloc` region (#90456)
f4843acd839f [lldb][bazel] Fix BUILD after 975eca0e6a3459e59e96b0df33ea0cfbd157c597. (#90564)
ec527b21bb41 [C++20] [Modules] Don't skip pragma diagnostic mappings
4a84d8e4c28d [LoongArch] Support parsing la.tls.desc pseudo instruction
2524146b2560 [RISCV] Add DAG combine for (vmv_s_x_vl (undef) (vmv_x_s X). (#90524)
6b961e2abfff Revert "[C++20] [Modules] Don't skip pragma diagnostic mappings" and "[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator"
940ef9687f5f [RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions
fb21343473e3 [C++20] [Modules] Don't skip pragma diagnostic mappings
6e8305813821 [RISCV] Use an assert insead of a if/else+llvm_unreachable. NFC
705636a11305 [SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)
18268ac0f48d [NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator
bd72f7b0ab98 [RISCV] Add test case for exact vscale miscompile in #90559. NFC
fbe4d991323b [clang-tidy] fix false-negative for macros in `readability-math-missing-parentheses` (#90279)
79095b4079e8 [ELF] --compress-debug-sections=zstd: replace ZSTD_c_nbWorkers parallelism with multi-frame parallelism
326667d72754 [RISCV] Merge variable declaration with first assignment. NFC
62d6560471f0 Disable test for lsan and x86_64h (#90483)
38067c50a945 [C++20] [Modules] [Reduced BMI] Avoid force writing static declarations within module purview
9d5411ffba0d [BOLT] Avoid reference updates for non-JT symbol operands (#88838)
b3291793f119 [X86] Enable EVEX512 when host CPU has AVX512 (#90479)
6ea0c0a28343 [NewPM][CodeGen] Add `MachineFunctionAnalysis` (#88610)
b1867e18c346 [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (#88596)
65ee8f10b201 [mlir][sparse] fold explicit value during sparsification (#90530)
9a1386e5fabb [NFC] Remove method from FoldingSet that already existed in APInt. (#90486)
ce3485a0cd12 [llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)
6566ffdf8a54 Clean up the GSym error aggregation code, and pass the aggregator by reference (#89688)
1cb337139105 Ensure test writes objects to test temp dir
ae7ce1c6e728 [CodeGen] Remove extraneous ArrayRef (NFC) (#90423)
5e9937d1b3ad [libc][math] Adds entrypoint and tests for nearbyintf128,scalbnf128 (#88443)
c4c4e17c99f8 [BOLT] Use heuristic for matching split local functions (#90424)
1b70580dd867 Skip various tests under ASAN on green dragon (#90531)
e24a7bbf4515 [mlir-lsp] Support outgoing requests (#90078)
d47c4984e9ea [AMDGPU][ISel] Add more trunc store actions regarding bf16 (#90493)
1f44a0b1ff2d Make minor improvements to the creduce wrapper script
028546cce231 Simplify condition (NFC)
869ffcf3f6ca [CodeGen][i386] Move -mregparm storage earlier and fix Runtime calls (#89707)
3a0d894fafdd [BOLT] Add support for BOLT-reserved space in a binary (#90300)
5bbf1ea8f18d [WebAssembly] Enable multivalue and reference-types in generic CPU config (#80923)
6f390ea60d98 [Lex] Fix clang -Wparentheses after #89923
347a02b40856 [clang][NFC] Repair tests for __builtin_convertvector on big-endian
35fa46a56ae2 Improve comment
9d955a63c7b0 [driver] Allow `ld` as a driver alias to lld (#90515)
975eca0e6a34 Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981)
8ba880b58707 [Driver] Clean up denormal handling with fast-math-related options (#89477)
e5907c885941 [NFC] Fix hasQualifier comment (#90485)
a5cc95147ed5 [BinaryFormat] Adjust OSABI functions and add unittests
326657f56798 [Clang] Address post commit feedbacks in #89906 (#90495)
359ab3aebba3 [CIR] Add options to emit ClangIR and enable the ClangIR pipeline
99ce84cef018 [clang][NFC] Reformat suspicious condition (#89923)
b83e65dcf879 [clang] Constexpr for __builtin_shufflevector and __builtin_convertvector (#76615)
3ab4ae9e58c0 [clang codegen] Fix MS ABI detection of user-provided constructors. (#90151)
7eac39f65022 [libc++] Mark scoped_lock and unique_lock constructors as [[nodiscard]] (#89397)
413f6b95a436 [TableGen][GISel][NFC] clang-tidy GlobalISelEmitter.cpp (#90492)
c3598b161a4d [libc++] Improve libc++ tests when using optimizations (#88897)
ca257022aa13 [AArch64] Regenerate `machine-combiner-subadd2.mir` test (NFC)
9c3f5fe88f19 [LV] Don't consider the latch block as ScalarPredicatedBB.
a1e9608b0ff8 [BOLT] Use symbol table info in registerFragment (#89648)
7e2eeb5753de [mlir][sparse] use ValueRange instead of std::pair for iterator position. (#90243)
d566a5cd22b4 [MLIR] Improve KernelOutlining to avoid introducing an extra block (#90359)
cd68d7b3c0eb [Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)
fe3f6c63cd6b [Clang] Propagate 'SystemDrive' environment variable for unit tests (#90478)
f9d4d54aa0cb [RISCV] Break the (czero_eqz x, (setne x, 0)) -> x combine into 2 combines. (#90428)
618adc762e95 [RISCV] Support instruction sizes up to 176-bits in disassembler. (#90371)
99df06ac71b1 [AST] Dump explicit template arguments for UnreslovedLookupExpr. (#90466)
5b1cc58b3c72 [X86] getOnesVector - use getAllOnesConstant helper. NFC.
a025ef193c07 [X86] LowerSELECT - use DAG::getNegative() helper. NFC.
54f09be90f5e [X86] LowerABS - use DAG::getNegative() helper. NFC.
6d8cae7f8bd4 [X86] LowerShift - use DAG::getNegative() helper. NFC.
b7248d53637f [PseudoProbe] Add an option to remove pseudo probes after profile annotation (#90293)
e441363f7da2 Fix a crash introduced by 3d5e9ab by adding a nullptr check. (#90301)
dede19caf0da GlobalOpt: Handle threadlocal.address intrinsic (#88454)
3590ede848d6 [clang][Interp] Support vec_step
4c701577cd41 BPF: Use DebugLoc to find Filename for BTF line info (#90302)
b07177fb68d3 [Libomptarget] Rework interface for enabling plugins (#86875)
e3750fb65acf [Clang] Add diagnostic about "%P" specifier with Objective-C pointers (#89977)
2903df02fb3c Squashed commit of the following:
df6d2faa22bf [Object] Provide operator< for ELFSymbolRef (#89861)
1e174a7656f9 [TableGen][GISel] Handle frameindex/tframeindex (#90475)
6f02120ac446 [llvm][RISCV] Improve error message for invalid extension letters (#90468)
11f4f458d985 [scudo] Support setting default value of ReleaseToOsIntervalMs in config (#90256)
1563a8752b33 [flang][runtime] Allow building CUDA PTX library without global vars definitions. (#90280)
3ba079183f82 [flang][runtime] Added missing routines into CUDA build. (#90272)
91f251c31fbb [clang] Fix `remove{CVR|Fast}Qualifiers` with 64-bit `Qualifiers::Mask` (#90329)
b811ad6f348d [mlir-lsp] Un-revert unit test additions (#90232)
f6187c76595d [llvm-driver] Fix header order of llvm-driver-template
d486a4c29a33 [ARM] Ensure extra uses are not dead in tail-folding-counting-down.ll. NFC
3044eaf40932 [Flang][OpenMP] Use a label to avoid complexity of too many CHECK-DAGs in a test (#90190)
ef78edafabe7 [SLP][NFC]Add a test with the optimizable and and final ext, NFC.
bd07c22e5372 [Clang] Add support for scalable vectors in __builtin_reduce_* functions (#87750)
5e3032638e2d [MLIR][Linalg] Left over Linalg named ops from previous PR (#90405)
45bd85e48152 [clang][Interp] Fix casting function pointers to integers
e34b41c707a8 [clang][Interp] Support CXXParenListInitExprs for non-record types
bb770deb9acf [clang][Interp] Reject void-typed InitListExprs
6561fa3d02b7 [LoopUnswitch] Allow i1 truncs in loop unswitch (#89738)
c4c8d08b81e6 [Clang] Fix incorrect handling of #pragma {GCC} unroll N in dependent context (#90240)
e71840305d62 [Clang] Implement C++26 P2748R5 "Disallow Binding a Returned Glvalue to a Temporary" (#89942)
37ae4ad0eef3 [SLP]Support minbitwidth analisys for buildvector nodes.
040b5a1255db [SLP]Fix PR90211: vectorized node must match completely to be reused.
86b9a4f892b9 [SLP][NFC]Add a test with the skipped gather node, which is same, as vectorized node.
5f9ae61dee0f [Support][YamlTraits] Add quoting for keys in textual YAML representation (#88763)
caa902613a96 [clang] Allow constexpr cast from `void*` in more cases (#89484)
e57b87241406 Avoid unusable variable in ByteCodeExprGen.cpp (#90469)
8d5386669ed6 [flang] Generate main only when a Fortran program statement is present (#89938)
de6b2b9dbf9a [Clang][Docs] use CommonOptionsParser::create instead of protected constructor on libTooling tutorial (NFC) (#70427)
8e17c84836b0 [AMDGPU][ISel] Set trunc store action to expand for v4f32->v4bf16 (#90427)
e5c92c51e986 [AMDGPU][AsmParser] Do not use predicates for validation of NamedIntOperands. (#90251)
217c099eadfb [SLP][NFC]Add a test for strided stores support, NFC.
f5ed9170464b [clang][Interp] Fix creating variables for TemplateParamObjectDecls
6e473307ab74 [clang][Interp] Ignore FunctionDecls in compound statements
959d98c05eca [clang][Interp][NFC] Fix a typo
cb3174bd7895 [clang][CodeGen] fix UB in aarch64 bfloat16 scalar conversion (#89062)
179e174945b6 [mlir][bufferization][NFC] More documentation for `runOneShotBufferize` (#90445)
55c6bda01ef5 Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more..."
95395ee51124 [X86] memcmp tests - merge check-prefixes. NFC.
b35bdb1d7b31 llvm-rc: add support for MENU in DIALOG(EX) (#89409)
37f2928ce382 [clang] Use `cwg_index.html` from GitHub for DR status page (#90352)
f2452d4b6894 [clang][Interp] Implement zero-init for record types
5b187751452e [AMDGPU] Fix typo in #89773
2914a11e3fad [AMDGPU] Fix hard clausing for image instructions on gfx12 (#90221)
0c8151ac809c [lldb][Test] Disable concurrent vfork tests on Arm and AArch64 Linux (again)
d72146f47156 Re-apply "Emit missing cleanups for stmt-expr" and other commits (#89154)
df762a1643bb [SemaCXX] Recognise initializer_list injected-class-name types as initializer_lists (#90210)
93e69abfc77b [X86] avg*.ll - add nounwind to silence cfi noise
0edb5c3be56a Revert "[flang] Improve debug info for functions." (#90444)
bf57d2e57c3e [AArch64][GlobalISel] Enable computeNumSignBits for G_XOR, G_AND, G_OR (#89896)
75d52f5797c3 [X86] matchTruncateWithPACK - merge equivalent calls to getSizeInBits/getScalarSizeInBits. NFC.
d30f6bc5cd95 [libc++][NFC] Refactor __libcpp_datasizeof to be a variable template (#87769)
bfc0317153dc Move several vector intrinsics out of experimental namespace (#88748)
16bd10a38730 Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more...
f029da5cfce6 [flang] Improve debug info for functions. (#90083)
a19a4113df3e [llvm-mca] Fix -skip-unsupported-instruction tests on Windows
ab12bba0aad8  [CGP] Drop poison-generating flags after hoisting (#90382)
41942c852e2b [lldb[Docs] Reduce title noise in packets doc (#90183)
5f79f7506a49 [llvm-mca] Add -skip-unsupported-instructions option (#89733)
e1622e189e8c [InstCombine] Add tests for trunc nuw/nsw in icmp (NFC)
bd9fdce69b4c [flang] Use `isa/dyn_cast/cast/...` free functions. (#90432)
4a8f2f2e1aab [Legalizer] Expand fmaximum and fminimum (#67301)
e2b8af7e149c [RISCV] Don't use MachineInstr::isIdenticalTo in hasSameAVL (#90431)
66274eb9f7e7 Improve documented sampling profiler steps to best known methods (#88438)
ec6c0a2b7da4 [LoongArch] Pre-commit tests for OptWInstrs. NFC
dc7834b76c18 [ProfileData] Use static_assert instead of assert (NFC)
b3c55b707110 [SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)
6cd6bde3090a [RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from arith tests (#89886)
501cfd5243c0 [X86] Use static_asserts instead of assert (NFC)
fa8fda85c679 [mlir][Bazel] Add missing dependency after 145176dc0c93566ce4aef721044d49ab8ba50f87
3785d7424680 [flang][OpenMP][LLVMIR] Support CFG and LLVM IR conversion for `omp.p… (#90164)
53cda4ca3b97 [Transforms] Use LLVMContext::MD_loop (NFC)
42bc4f692dfe Reland "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"
da213d77c026 [MLIR] Fix linking error of PolynomialDialect on MacOS (NFC)
2951dba98beb [X86] Fix prefix type, NFC
3c553fc9e050 [InstCombine] Infer nuw on mul nsw with non-negative operands (#90170)
feaddc10194e [InstCombine] Preserve inbounds when canonicalizing gep+add (#90160)
35b89dda2b97 [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390)
145176dc0c93 polynomial: Add basic ops (#89525)
aa596fa4d974 [clang-format] Set Change.TokenLength to ColumnWidth (#90378)
9c1de620344b [clang-format][NFC] Return early in isWordLike() for non-Verilog (#90363)
aafed3408e72 [VPlan] Make createScalarIVSteps return VPScalarIVStepsRecipe (NFC).
fac349a16997 Reapply "[mlir] Mark `isa/dyn_cast/cast/...` member functions depreca… (#90406)
c9dae4343889 [memprof] Add access checks to PortableMemInfoBlock::get* (#90121)
352602010fac Repply [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)
6dd90616c477 [Clang] Implement C++26 Attributes for Structured Bindings (P0609R3) (#89906)
216787cffc4a [mlir][arith] Add tests for i0 canonicalization (#89665)
8ad092f126bd [cc1as] Respect -mrelax-all
a1aea37fd1fe [X86] cmp.ll - update check prefixes to share common CHECK
98001a662c28 [X86] Fix tabs/spaces typo. NFC.
256d76f48060 [Docs] Improve the description of convergence (#89038)
4cec3b36f6d6 [MLIR][Linalg] More Linalg named ops (#90236)
dc6ce60801ed [mlir][gpu] Remove `offloadingHandler` from `ModuleToBinary` (#90368)
b6a8f5486bc1 [LV] Consider all exit branch conditions uniform.
19d2d3fe50c3 [libc++][modules] Enable installation by default. (#90094)
46321395ce5c [Flang][OpenMP] Remove deprecated FIR lowering tests (#90188)
bfd269d0d0d6 [AMDGPU] Fix test failing on Windows for `ld.lld.exe`
367efa0b0542 [NFC] [Modules] Avoid scanning the stored decl list twice when replace external decls
e3dea5e3410f [libc++][format] Improves escaping performance. (#88533)
0a0f1f9f1db0 [PPC]add DEBUG_COUNTER for PPCMIPeephole pass
5820ad92456d [NFC][RISCV] Keep AVLReg define instr inside VSETVLInfo (#89180)
487967af8205 [Modules] Don't replace local declarations with external declaration with lower visibility
37eb9c9632fb [RISC-V][ISel] Remove redundant czero.eqz like 'czero.eqz a0, a0, a0' (#90208)
2c1c887c8e6b [RISCV] Make fixed-point instructions commutable (#90035)
c705c6847633 [RISCV] Generate profiles from RISCVProfiles.td
f86d264dfdd6 [RISCV] Add subtarget features for profiles
7037878d2b4a [RISCV][TableGen] Get right experimental extension name
679e99d66673 [gn build] Port 1a462296360f
1a462296360f Revert "Revert "[WebAssembly] remove instruction after builtin trap" (#90354)" (#90366)
ad1e10ae1109 [github] Add ClangIR codeowners (#86089)
53ff002c6f7e [CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)
b4af01bada0c [clang-format][NFC] Don't repeat Changes[i]/Changes[i - 1]
6084dcbfce6a [LV] Add additional cost model coverage for loops with casted inds.
38a2051c5222 Revert "[WebAssembly] remove instruction after builtin trap" (#90354)
0336328e970e [clang-tidy][DOC] Minor fixes to release notes
803cbcbc4029 [clang-tidy] Enable C23 support in modernize-use-nullptr (#89990)
738c135ee09d SystemZ: Add more tests for fp128 atomics (#90269)
ff03f23be8bc [WebAssembly] remove instruction after builtin trap (#90207)
7b5b5214a6f9 [DFAJumpThreading][NFC] Use const reference as range variable (#90342)
b5e8555607ed [MemCpyOpt][NFC] Format codebase (#90225)
9e30c96aee5c [AArch64] Lowering of fpmode intrinsics in DAG (#80611)
b2c9f7d3188e [clang-tidy] Ensure nullable variable is not accessed without validity test (#90173)
c229f767e48c [DFAJumpThreading] Avoid exploring the paths that never come back (#85505)
715219482b99 [MIPS] match llvm.{min,max}num with {min,max}.fmt for R6 (#89021)
840032419d37 [libc++][NFC] Rename __find_impl to __find (#90163)
9bb84cec1b53 [ADT] Add StringRef::{starts,ends}_with(char) (#90311)
7aa6896dd7bc Revert "[memprof] Introduce FrameIdConverter and CallStackIdConverter" (#90318)
bc349cea7ad8 [GlobalIsel] combine insert vector element (#89363)
9145514fde48 [mlir][arith] fix canonicalization of mulsi_extended for i1 (#90150)
85a9528aa1f2 [libcxx] Remove empty ~__no_destroy (#89882)
90a959a8c978 [Bazel] Add llvm-mca unittests (#90309)
338561657685 [gn build] Port cb508a0032eb
cb508a0032eb [Hexagon] Add Hexagon Copy Hoisting pass (#89313)
315dc4bbc730 [clang-format] Add a space after a word token only if required (#90161)
e04df693bf5b [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)
d6bf04f4760b [LTO] Remove extraneous ArrayRef (NFC) (#90306)
de375fbc713b [RISCV] Move OrderedExtensionMap typedef to RISCVISAUtils.h. NFC
2e5035aeed4a Revert "[clang] Enable sized deallocation by default in C++14 onwards (#83774)" (#90299)
3ec858bc5d45 [BOLT] Refactor patchELFPHDRTable() (#90290)
ad2816e7340b [llvm-exegesis] Use const reference for range variable
5569c219d35c [RISCV] Split RISCVDisassembler::getInstruction into a 16-bit and 32-bit version. (#90254)
176ab5e9de54 [llvm-lto2] Simplify SymbolResolutions loop and avoid expensive std::string copy. NFC
8cf0f9ab2f32 [msan] Add conservative handling of vscale params (#90167)
eb3030acd0bd [AArch64][GlobalISel] Fix legalizer crash trying to legalize <16 x i32> = G_BITCAST i512
fefac5d5458a [ASan][Test] Remove hardcoded linker version from test (#90147)
3d5e9ab6d89b [alpha.webkit.UncountedCallArgsChecker] Avoid emitting warnings for Ref, RefPtr, and their variants. (#90153)
12d322db4695 [BOLT][NFC] Use getEHFrameHdrSectionName() (#90257)
d9fd0ddef38b [WebAssembly] Add half-precision feature (#90248)
eb5907d06f2f [flang][cuda] Avoid to issue data transfer in device context (#90247)
9ee8e38cdcc6 [VPlan] Also propagate versioned strides to users via sext/zext.
a4c21d17fe18 [lldb][sbapi] Fix API break in SBDebugger broadcast bits (#90261)
022dc6bab5c4 [NFC] [HWASan] factor out debug record annotation (#90252)
ced8497970ae [ci] Add clang project dependency for bolt testing (#90262)
6e722bbe30bd [AMDGPU] Support byte_sel modifier on v_cvt_sr_fp8_f32 and v_cvt_sr_bf8_f32 (#90244)
300340f656d7 Implement the DWARF 6 language and version attributes. (#89980)
5dd46d93fb9d [RISCV] Fix off by 1 typo in decodeVMaskReg. NFC
7aedd7dc754c Revert "[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)" (#90250)
1b7db405b97c [HLSL][SPIR-V] Target `directx` is required
56c4971d3323 [Driver,test] Replace CHECK-NOT: warning with -### -Werror
ac45bb5cbc4e [RISCV] Consistently use uint32_t in Disassembler decode functions. NFC
72b0c11cfd26 [Libomptarget] Rename `libomptarget.rtl.x86_64` to `libomptarget.rtl.host` (#86868)
266a9274dd14 [lldb] Fix typo in CumulativeSystemTimeIsValid check (#89680)
79314c64d0f8 [SLP]Fix PR90224: check that users of gep are all vectorized.
01d7dcfe5e3b [lldb] Switch to llvm::DWARFUnitHeader (#89808)
b2098db24853 [APINotes] Allow annotating a C++ type as non-copyable in Swift
b27f86b40b20 [RISCV] Add an instruction PrettyPrinter to llvm-objdump (#90093)
760910ddb918 [Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115)
3aeb28b93fb7 [mlir][sparse] fold sparse convert into producer linalg op. (#89999)
c49b74a4e6ff [LV] Add tests showing missed propgation of versiond stride values.
451e853e512b [RISCV] Flatten the ImpliedExts table in RISCVISAInfo.cpp (#89975)
690c929b6c68 [OpenMP][AIX] Use syssmt() to get the number of SMTs per physical CPU (#89985)
d2caaabf5d15 [DXIL] Fix build warning (#90226)
6904e0e8852a [scudo] Reflect the allowed values for M_DECAY_TIME on Android (#89114)
7683d07d84fa [NFC] update comments from an earlier version of SuffixTree (#89800)
d6c4ebbf78c6 [libc++][ranges] Exports operator|. (#90071)
37a92f9f60fc [AArch64][SVE2] SVE2 NBSL instruction lowering. (#89732)
72c373bfdc98 [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446)
0620a637e362 [X86] Regenerate subreg-to-reg tests with update_llc_test_checks.py
bf67610a8ac0 [MC] Rename temporary symbols of empty name to ".L0 " (#89693)
571831a680fa [mlir] Add sub-byte type emulation support for `memref.collapse_shape` (#89962)
64d514a2e1f1 [mlir] Fix -Wdeprecated-declarations of cast in VCIXToLLVMIRTranslation.cpp (NFC)
2d09ac403741 [clang-tidy][NFC] Fix broken link in documentation of cert-env33-c (#90216)
e74be35c1abe [libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964)
1728a56d0e66 [clang] Add test for CWG2149 "Brace elision and array length deduction" (#90079)
950b7ce0b883 [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)
450ac01bb9f4 [mlir][MemRef] Add ExtractStridedMetadataOpCollapseShapeFolder (#89954)
d74e42acd247 [SLP]Attempt to vectorize long stores, if short one failed.
ace3bd0580d4 Revert "[TableGen] Ignore inaccessible memory when checking pattern flags (#90061)"
904b1a850536 [Offload] Remove remaining `__tgt_register_requires` references (#90198)
405c018c71fb DAG: Simplify demanded bits for truncating atomic_store (#90113)
bb1a8bbbf06f [NFC][OpenACC] Remove stale FIXME comment in a test
55d85c84ac01 [DAG] visitORCommutative - fold build_pair(not(x),not(y)) -> not(build_pair(x,y)) style patterns (#90050)
c379a5b69e7e [RISCV][NFC] Future-proof reference to ISA manual in RISCVInstrInfoC.td
7696d36b4ed5 [Transforms] Debug values are not remapped when cloning. (#87747)
c4c9d4f30673 [M68k] Add support for MOVEQ instruction (#88542)
39f1b2de6f6d Add test cases for SELECT->AND miscompiles in DAGCombiner
134e64564583 [clang][X86] Fix -Wundef warning in cpuid.h (#89842)
a670cdadca54 [AArch64] Add support for Neoverse-N3, Neoverse-V3 and Neoverse-V3AE (#90143)
8e2f6495c0ba [DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)
73472c599671 [SelectionDAG] Treat CopyFromReg as freezing the value (#85932)
431be8626696 Revert "[RISCV] Support RISCV Atomics ABI attributes (#84597)"
357530f11351 Revert "[llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)"
468fecfc39a7 Fix mismatches between function parameter definitions and declarations (#89512)
1b2f970e9f40 [LLVM][AARCH64]Replace +sme2p1+smef16f16 by +smef16f16 (#88860)
28675109ccb6 [X86] Add test coverage for #89533
12adaac7edf4 [X86] Split off or + blend/shuffle combine tests from combine-or.ll
0fa1f1f2d117 [LLVM][SVE] Seperate the int and floating-point variants of addqv. (#89762)
5c969af66ac1 [Flang][OpenMP] Skip default privatization of implied do indices (#89915)
f1112ebe074e AMDGPU: Do not bitcast atomic load in IR (#90060)
1ed1ec9a99bf [SPIRV] Improve builtins matching  and type inference in SPIR-V Backend,  fix target ext type constants (#89948)
2e3e08687486 [BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)
213ab9610ced [flang][NFC] Use tablegen to reduce MemoryAllocationOpt boilerplate (#90062)
46b66dfd31ed [flang][NFC] use tablegen to create StackArrays constructor (#90038)
08dc03c57078 [flang][NFC] Use tablegen to create LoopVersioning constructor (#90037)
24c6409d56e4 [clang] Fix -Wunused-variable in ByteCodeStmtGen.cpp (NFC)
74a5e7784b3…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants