Skip to content

Conversation

@jeanPerier
Copy link
Contributor

After #127231, fir.coordinate_of should directly carry the field.

I updated the lowering and codegen tests in #12731, but not the FIR to FIR tests, which is what this patch is cleaning up.

After llvm#127231,
fir.coordinate_of should directly carry the field.

I updated the lowering and codegen tests in 12731, but not the FIR to FIR
tests, which is what this patch is cleaning up.
@llvmbot llvmbot added flang Flang issues not falling into any other category flang:openmp labels Feb 28, 2025
@llvmbot
Copy link
Member

llvmbot commented Feb 28, 2025

@llvm/pr-subscribers-flang-openmp

Author: None (jeanPerier)

Changes

After #127231, fir.coordinate_of should directly carry the field.

I updated the lowering and codegen tests in #12731, but not the FIR to FIR tests, which is what this patch is cleaning up.


Patch is 99.94 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/129219.diff

6 Files Affected:

  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir (+7-14)
  • (modified) flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir (+18-36)
  • (modified) flang/test/Analysis/AliasAnalysis/ptr-component.fir (+38-76)
  • (modified) flang/test/Fir/CUDA/cuda-abstract-result.mlir (+4-8)
  • (modified) flang/test/Fir/boxproc-2.fir (+4-8)
  • (modified) flang/test/Transforms/omp-map-info-finalization.fir (+26-35)
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
index eab438576c2bc..55f40d8d75249 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
@@ -34,8 +34,7 @@ func.func @_QMmPtest(%arg0: !fir.ref<!fir.box<!fir.ptr<f32>>> {fir.bindc_name =
   %0 = fir.address_of(@_QMmEa) {test.ptr = "a"} : !fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>
   %1 = fir.embox %arg1 : (!fir.ref<f32>) -> !fir.box<!fir.ptr<f32>>
   fir.store %1 to %arg0 : !fir.ref<!fir.box<!fir.ptr<f32>>>
-  %2 = fir.field_index pointer_component, !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>
-  %3 = fir.coordinate_of %0, %2 : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %3 = fir.coordinate_of %0, pointer_component : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %4 = fir.load %3 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %5 = fir.box_addr %4 : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %6 = fir.convert %5 : (!fir.ptr<f32>) -> !fir.ref<f32>
@@ -71,12 +70,10 @@ fir.global @_QMmEa : !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}
 }
 func.func @_QMmPtest(%arg0: !fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>> {fir.bindc_name = "b"}, %arg1: !fir.ref<f32> {fir.bindc_name = "x", fir.target}) attributes {test.ptr = "func"} {
   %0 = fir.address_of(@_QMmEa) {test.ptr = "a"} : !fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>
-  %1 = fir.field_index pointer_component, !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>
-  %2 = fir.coordinate_of %0, %1 : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %2 = fir.coordinate_of %0, pointer_component : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %3 = fir.embox %arg1 : (!fir.ref<f32>) -> !fir.box<!fir.ptr<f32>>
   fir.store %3 to %2 : !fir.ref<!fir.box<!fir.ptr<f32>>>
-  %4 = fir.field_index pointer_component, !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>
-  %5 = fir.coordinate_of %arg0, %4 : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %5 = fir.coordinate_of %arg0, pointer_component : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %6 = fir.load %5 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %7 = fir.box_addr %6 : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %8 = fir.convert %7 : (!fir.ptr<f32>) -> !fir.ref<f32>
@@ -106,12 +103,10 @@ func.func private @_QPtest2(!fir.ref<f32>)
 // CHECK: func.region0#0 <-> func.region0#1: NoAlias
 
 func.func @_QMmPtest(%arg0: !fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>> {fir.bindc_name = "a"}, %arg1: !fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>> {fir.bindc_name = "b"}, %arg2: !fir.ref<f32> {fir.bindc_name = "x", fir.target}) attributes {test.ptr = "func"} {
-  %0 = fir.field_index pointer_component, !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>
-  %1 = fir.coordinate_of %arg0, %0 : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %1 = fir.coordinate_of %arg0, pointer_component : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %2 = fir.embox %arg2 : (!fir.ref<f32>) -> !fir.box<!fir.ptr<f32>>
   fir.store %2 to %1 : !fir.ref<!fir.box<!fir.ptr<f32>>>
-  %3 = fir.field_index pointer_component, !fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>
-  %4 = fir.coordinate_of %arg1, %3 : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %4 = fir.coordinate_of %arg1, pointer_component : (!fir.ref<!fir.type<_QMmTt{pointer_component:!fir.box<!fir.ptr<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %5 = fir.load %4 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %6 = fir.box_addr %5 : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %7 = fir.convert %6 : (!fir.ptr<f32>) -> !fir.ref<f32>
@@ -140,13 +135,11 @@ func.func private @_QPtest2(!fir.ref<f32>)
 // CHECK: func.region0#0 <-> func.region0#1: NoAlias
 
 func.func @_QMmPtest(%arg0: !fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>> {fir.bindc_name = "a"}, %arg1: !fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>> {fir.bindc_name = "b"}) attributes {test.ptr = "func"} {
-  %0 = fir.field_index allocatable_component, !fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>
-  %1 = fir.coordinate_of %arg0, %0 : (!fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %1 = fir.coordinate_of %arg0, allocatable_component : (!fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %2 = fir.allocmem f32 {uniq_name = "_QMmEallocatable_component.alloc"}
   %3 = fir.embox %2 : (!fir.heap<f32>) -> !fir.box<!fir.heap<f32>>
   fir.store %3 to %1 : !fir.ref<!fir.box<!fir.heap<f32>>>
-  %4 = fir.field_index allocatable_component, !fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>
-  %5 = fir.coordinate_of %arg1, %4 : (!fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %5 = fir.coordinate_of %arg1, allocatable_component : (!fir.ref<!fir.type<_QMmTt{allocatable_component:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %6 = fir.load %5 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %7 = fir.box_addr %6 : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
   %8 = fir.convert %7 : (!fir.heap<f32>) -> !fir.ref<f32>
diff --git a/flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir b/flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
index de81841d9249d..6b9ff25f590f3 100644
--- a/flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
+++ b/flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
@@ -141,22 +141,18 @@ func.func @_QPtest.fir() {
   %5 = fir.declare %4 {test.ptr="t_obj.fir", fortran_attrs = #fir.var_attrs<target>, uniq_name = "_QFtestEt_obj"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>
   %6 = fir.alloca f32 {bindc_name = "v", uniq_name = "_QFtestEv"}
   %7 = fir.declare %6 {test.ptr = "v.fir", uniq_name = "_QFtestEv"} : (!fir.ref<f32>) -> !fir.ref<f32>
-  %8 = fir.field_index p0, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %9 = fir.coordinate_of %1, %8 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %9 = fir.coordinate_of %1, p0 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %10 = fir.load %9 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %11 = fir.box_addr %10 {test.ptr = "obj%p0.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
-  %12 = fir.field_index p1, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %13 = fir.coordinate_of %1, %12 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %13 = fir.coordinate_of %1, p1 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %14 = fir.load %13 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %15 = fir.box_addr %14 {test.ptr = "obj%p1.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %c2 = arith.constant 2 : index
   %16 = fir.shape %c2 : (index) -> !fir.shape<1>
   %c1 = arith.constant 1 : index
-  %17 = fir.field_index arr, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %18 = fir.coordinate_of %1, %17 : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.array<2xf32>>
+  %18 = fir.coordinate_of %1, arr : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.array<2xf32>>
   %19 = fir.array_coor %18(%16) %c1 {test.ptr="obj%arr(1).fir"} : (!fir.ref<!fir.array<2xf32>>, !fir.shape<1>, index) -> !fir.ref<f32>
-  %20 = fir.field_index alloc, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %21 = fir.coordinate_of %1, %20 {test.ptr="obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %21 = fir.coordinate_of %1, alloc {test.ptr="obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %22 = fir.load %21 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %repeat22 = fir.load %21 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %23 = fir.box_addr %22 {test.ptr = "obj%alloc.tgt.fir"} : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
@@ -164,11 +160,9 @@ func.func @_QPtest.fir() {
   %c2_0 = arith.constant 2 : index
   %24 = fir.shape %c2_0 : (index) -> !fir.shape<1>
   %c1_1 = arith.constant 1 : index
-  %25 = fir.field_index arr, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %26 = fir.coordinate_of %5, %25 : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.array<2xf32>>
+  %26 = fir.coordinate_of %5, arr : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.array<2xf32>>
   %27 = fir.array_coor %26(%24) %c1_1 {test.ptr="t_obj%arr(1).fir"} : (!fir.ref<!fir.array<2xf32>>, !fir.shape<1>, index) -> !fir.ref<f32>
-  %28 = fir.field_index alloc, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %29 = fir.coordinate_of %5, %28 {test.ptr="t_obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %29 = fir.coordinate_of %5, alloc {test.ptr="t_obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %30 = fir.load %29 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %31 = fir.box_addr %30 {test.ptr = "t_obj%alloc.tgt.fir"} : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
   return
@@ -309,22 +303,18 @@ func.func @_QPtest.fir(%arg0: !fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f3
   %4 = fir.declare %arg1 dummy_scope %0 {test.ptr="t_obj.fir", fortran_attrs = #fir.var_attrs<target>, uniq_name = "_QFtestEt_obj"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.dscope) -> !fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>
   %5 = fir.alloca f32 {bindc_name = "v", uniq_name = "_QFtestEv"}
   %6 = fir.declare %5 {test.ptr = "v.fir", uniq_name = "_QFtestEv"} : (!fir.ref<f32>) -> !fir.ref<f32>
-  %7 = fir.field_index p0, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %8 = fir.coordinate_of %1, %7 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %8 = fir.coordinate_of %1, p0 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %9 = fir.load %8 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %10 = fir.box_addr %9 {test.ptr = "obj%p0.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
-  %11 = fir.field_index p1, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %12 = fir.coordinate_of %1, %11 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %12 = fir.coordinate_of %1, p1 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %13 = fir.load %12 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %14 = fir.box_addr %13 {test.ptr = "obj%p1.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %c2 = arith.constant 2 : index
   %15 = fir.shape %c2 : (index) -> !fir.shape<1>
   %c1 = arith.constant 1 : index
-  %16 = fir.field_index arr, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %17 = fir.coordinate_of %1, %16 : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.array<2xf32>>
+  %17 = fir.coordinate_of %1, arr : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.array<2xf32>>
   %18 = fir.array_coor %17(%15) %c1 {test.ptr="obj%arr(1).fir"} : (!fir.ref<!fir.array<2xf32>>, !fir.shape<1>, index) -> !fir.ref<f32>
-  %19 = fir.field_index alloc, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %20 = fir.coordinate_of %1, %19 {test.ptr="obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %20 = fir.coordinate_of %1, alloc {test.ptr="obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %21 = fir.load %20 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %repeat21 = fir.load %20 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %22 = fir.box_addr %21 {test.ptr = "obj%alloc.tgt.fir"} : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
@@ -332,11 +322,9 @@ func.func @_QPtest.fir(%arg0: !fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f3
   %c2_0 = arith.constant 2 : index
   %23 = fir.shape %c2_0 : (index) -> !fir.shape<1>
   %c1_1 = arith.constant 1 : index
-  %24 = fir.field_index arr, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %25 = fir.coordinate_of %4, %24 : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.array<2xf32>>
+  %25 = fir.coordinate_of %4, arr : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.array<2xf32>>
   %26 = fir.array_coor %25(%23) %c1_1 {test.ptr="t_obj%arr(1).fir"} : (!fir.ref<!fir.array<2xf32>>, !fir.shape<1>, index) -> !fir.ref<f32>
-  %27 = fir.field_index alloc, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %28 = fir.coordinate_of %4, %27 {test.ptr="t_obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.heap<f32>>>
+  %28 = fir.coordinate_of %4, alloc {test.ptr="t_obj%alloc.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
   %29 = fir.load %28 : !fir.ref<!fir.box<!fir.heap<f32>>>
   %30 = fir.box_addr %29 {test.ptr = "t_obj%alloc.tgt.fir"} : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
   return
@@ -477,22 +465,18 @@ func.func @_QPtest.fir() {
   %5 = fir.declare %4 {test.ptr="t_obj.fir", fortran_attrs = #fir.var_attrs<target>, uniq_name = "_QMmEt_obj"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>
   %6 = fir.alloca f32 {bindc_name = "v", uniq_name = "_QFtestEv"}
   %7 = fir.declare %6 {test.ptr = "v.fir", uniq_name = "_QFtestEv"} : (!fir.ref<f32>) -> !fir.ref<f32>
-  %8 = fir.field_index p0, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %9 = fir.coordinate_of %1, %8 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %9 = fir.coordinate_of %1, p0 {test.ptr="obj%p0.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %10 = fir.load %9 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %11 = fir.box_addr %10 {test.ptr = "obj%p0.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
-  %12 = fir.field_index p1, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %13 = fir.coordinate_of %1, %12 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>, !fir.field) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
+  %13 = fir.coordinate_of %1, p1 {test.ptr="obj%p1.fir"} : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>
   %14 = fir.load %13 : !fir.ref<!fir.box<!fir.ptr<f32>>>
   %15 = fir.box_addr %14 {test.ptr = "obj%p1.tgt.fir"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>
   %c2 = arith.constant 2 : index
   %16 = fir.shape %c2 : (index) -> !fir.shape<1>
   %c1 = arith.constant 1 : index
-  %17 = fir.field_index arr, !fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.ptr<f32>>,arr:!fir.array<2xf32>,alloc:!fir.box<!fir.heap<f32>>}>
-  %18 = fir.coordinate_of %1, %17 : (!fir.ref<!fir.type<_QMmTty{p0:!fir.box<!fir.ptr<f32>>,p1:!fir.box<!fir.pt...
[truncated]

Copy link
Contributor

@clementval clementval left a comment

Choose a reason for hiding this comment

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

LGTM

@jeanPerier jeanPerier merged commit 9805854 into llvm:main Mar 3, 2025
14 checks passed
searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Mar 3, 2025
Flang team looking into:

land and reverted 3/1/25
a8db1fb [flang] update fir.coordinate_of to carry the fields (llvm#127231
subsequent landed and reverted, relates to prev.
9805854 [flang][NFC] clean-up fir.field_index legacy usages in tests (llvm#129219)
searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Mar 3, 2025
…9219)

After llvm#127231, fir.coordinate_of should directly carry the field.

I updated the lowering and codegen tests in llvm#12731, but not the FIR to
FIR tests, which is what this patch is cleaning up.
searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Mar 3, 2025
stefankoncarevic referenced this pull request in stefankoncarevic/rocMLIR Mar 26, 2025
…482a

e60d3bf8482a [Hipcc] Mark ~HipBinBase as virtual (#1258)
bf3cb2786706 [Hipcc] Mark ~HipBinBase as virutal
158253a61e73 Remove symlink runtimes/cmake/Modules/FindLibcCommonUtils.cmake (#1255)
9889339a7059 Remove symlink runtimes/cmake/Modules/FindLibcCommonUtils.cmake
725843b5ce2b [device-libs] Allow link to llvm shared library for current distros (#1223)
595d6e244661 [IR] Find types used by DIExpressions in debug records (#892)
18e603698cc3 Revert "[OpenMP] Default to single SDMA engine" (#1232)
a4d4a48e80f7 merge main into amd-staging (#1231)
ad7727ec9490 merge main into amd-staging
907a11e32528 Revert "[OpenMP] Default to single SDMA engine"
71c8c003a634 Revert "Revert "[RemoveDIs] Enable direct-to-bitcode writing by default"" (#1229)
297f6d9f6b21 [libc++] Fix check for _LIBCPP_HAS_NO_WIDE_CHARACTERS in features.py (#131675)
ed19620b8c93 [VPlan] Make VPReductionRecipe a VPRecipeWithIRFlags. NFC  (#130881)
00cad3ed2280 [SDAG] Handle extract_subvector in isKnownNeverNaN (#131581)
a5107be0317a [NFC][AMDGPU][GlobalISel] Make LLTs constexpr (#131673)
4cb1430c1cc6 [mlir][spirv] Fix a crash in `spirv::ISubOp::fold` (#131570)
745e16753fc1 [JSON][NFC] Move print method out of NDEBUG || DUMP (#131639)
d9c65af62654 [MLIR][GPUToNVVM] Support 32-bit isfinite (#131699)
d1156fcb5689 Revert "[libc++] Optimize num_put integral functions" (#131613)
50f8adb5c018 [RISCV] Accept '0(reg)' in addition to '(reg)' ifor vl1r.v/vl2r.v/vl4r.v/vl8r.v
173ce104bc98 merge main into amd-staging (#1230)
cb1d640b037b [clang][DepScan] resolve dangling reference to lambda that goes out of scope.
a2fbc9a8e3d3 [DirectX]  Start the creation of a DXIL Instruction legalizer (#131221)
092e25571c09 AMDGPU: Add REQUIRES: asserts to machine pass violation test
94426df66a8d [compiler-rt][Darwin][x86] Fix instrprof-darwin-exports test (#131425)
e5ec7bb21b30 [flang][cuda] Set correct offsets for multiple variables in dynamic shared memory (#131674)
ad8f0e27606e [clang][DepScan] Pass references to ModuleDeps instead of ModuleID in lookupModuleOutput callbacks, NFCI (#131688)
c1fabd681fed [llvm][AMDGPU] Enable FWD_PROGRESS bit for GFX10+ (#128367)
541b8f2e14d4 [clang][driver] Use rva22u64_v as the default march for Fuchsia targets (#131183)
584f8cc30554 [clang][DependencyScanning] Track modules that resolve from "stable" locations (#130634)
5bf3f08cc967 [RISCV] Update some of the RVV memory ops in SiFive P400 & P600 sched models (#129575)
5f866666a6fb [CIR] Upstream initial support for unary op (#131369)
1b3164675777 [DFSan] Change placeholders from `undef` to `poison` (#131534)
ccf21094713e [Metadata] Change placeholder from `undef` to `poison` (#131469)
5b9006550d77 [libc++][NFC] Fix incorrect main() signatures
c3f750250a9b [MLIR][LLVM] Handle floats in Mem2Reg of memset intrinsics (#131621)
6d2b8285b3f5 [lldb] Support ordered patterns in lldbtest.expect (#131475)
166937b49dac [LV] Cleanup after expanding SCEV predicate to constant.
887cf1f8cea2 [AMDGPU][GlobalISel] Enable vector reductions (#131413)
128f381650aa [SPIR-V] Add `OpConstantCompositeContinuedINTEL` instruction (#129086)
74d4fc0a3ef0 [flang][cuda][NFC] Use ssa value for offset in shared memory op (#131661)
0191307bb258 [IR] Allow alignstack attribute on return values (#130439)
4336e5edbcc2 [SLP] Sort PHIs by ExtractElements when relevant (#131229)
6dbe82f061bf [NFC][DebugInfo] Wrap DILineInfo return type with std::optional to handle missing debug info. (#129792)
1c6208ac1576 merge main into amd-staging
2e6402ca2c6c [NFC] Add explicit initializer to PGOCtxProfReader's RootEntryCount
4ce1d1f1d90d [ADT] Add DenseSet::insert_range (#131567)
e3ef5f2928f4 [HLSL] Add bounds checks for the HLSL `fmod` vector arguments and return types (#131035)
6f659b0060d6 [clang][dataflow] For bugprone-unchecked-optional-access report range (#131055)
d2e1e3034801 [RISCV] Rename some DecoderNamespaces and cleanup debug messages. NFC (#131409)
9eb6b37e397e [RISCV] Put CV_ELW back in XCV DecoderNamespace.
bbaf743c461e [X86] Cleanup test coverage for #109272
20cdffbd2761 [X86] combineConcatVectorOps - extend VPERMILPD handling to support 512-bit types
24e88b0e6bc0 [libc++] Add remaining benchmarks from [alg.modifying.operations] (#127354)
911b200ce339 [Clang] Constant Expressions inside of GCC' asm strings (#131003)
d0a5845700a3 [IR] Find types used by DIExpressions in debug records
2443fe537f8b [gn build] Port af5abd9a682d
af5abd9a682d [HLSL] add extra scalar vector overloads for clamp (#129939)
279e82fca7f2 Revert f9146ccbe940d8b8eb15e7686a511a28eb0abc6b (#131656)
f6a7306beaf5 [clang][CIR] Add missing dependency on MLIR headers (#131057)
ead9d6a56d76 [SLP]Check VectorizableTree is not empty before accessing elements
cfa07ccdfcf0 [clang][bytecode] Fix builtin_memchr with non-0 start index (#131633)
ca1bde0b91a6 [clang][bytecode] Check dtor instance pointers for active-ness (#128732)
c53caae1d0ba [libc++][NFC] Remove dead link in comment
046041842022 [clang][driver][NFC] Remove else after return (#131182)
681b24132c5d [gn build] Port fbb8929c9d15
fbb8929c9d15 [lldb-dap] Updating RequestHandler to encode/decode arguments and response. (#130090)
47f7daab06e4 [libc][docs] Add glob implementation status doc and include in CMakeLists (#126923)
b3c5031b0739 [HLSL] Remove HLSLResource attribute (#130342)
9a92fe0f8d34 [X86] Add additional test coverage for #109272
561f1d0b7cbb [X86] add test coverage for concatenation to 512-bit VPERMILPD nodes
800593a01479 [MLIR][LLVM] Avoid duplicated module flags in the export (#131627)
67f1c033b8ff [VPlan] Remove createReduction. NFCI (#131336)
54cb4059da27 [X86][ISel][FMA] Get a handle on operand nodes when negating FMA (#130176)
6fcb486ba127 [device-libs] Allow link to llvm shared library for current distros
b00ad366323c [RISCV] Use hasFeature instead of checkFeature in llvm-exegesis. NFC (#131401)
eef5ea0c42fc [VPlan] Account for dead FOR splice simplification in cost model (#131486)
b24b984d092d merge main into amd-staging (#1219)
e2c43ba98162 [NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/packed-fp32.ll` (#131629)
7054655c52e0 [llvm-exegesis] Add myself as an llvm-exegesis maintainer (#131580)
a4510aa7cb60 [flang-rt] replace the triple dir to 'aix' for flang-rt to be consistent with clang on AIX. (#130875)
3959bbc1345b [NFC] Remove trailing white spaces from `llvm/docs/LangRef.rst`
52e7ca9279b4 [LLVM][NVPTX] Add support for ldmatrix extensions introduced in PTX 8.6 (#124899)
269c40fafc80 [X86] Add tests for concatenation of VPERMV nodes
37c3fbfa5ae9 [X86] Add test showing failure to merge concatenatable VPERMV3 nodes
1b237198dc9d Reapply "[lldb] Implement basic support for reverse-continue (#125242)" (again) (#128156)
83356f3b62e9 [clang][bytecode] Compile functions lazily (#131596)
9455df969ef3 [Transforms] Avoid repeated hash lookups (NFC) (#131556)
e71686ed1539 [TargetParser] Avoid repeated hash lookups (NFC) (#131555)
8789c0083de1 [Transforms] Avoid repeated hash lookups (NFC) (#131554)
b8317df8d8f6 [FileCheck] Avoid repeated hash lookups (NFC) (#131553)
8bc0f879a052 [AMDGPU][True16][CodeGen] D16 LDS load/store pseudo instructions in true16 (#131427)
2ff370f45266 Warn about virtual methods in `final` classes (#131188)
1c3a9a853ce6 [AMDGPU] frame index elimination hit assertion for scavenged nonreg (#130287)
19adc69029ba [analyzer] Add [[maybe_unused]] forgotten in 57e36419b251 (#131617)
1e89a76a0490 [MLIR] Refactor to create vectorization convOp precondition check (#130181)
b79d53caaad7 [X86] X86MCInstLower.cpp - printConstant - don't assume the source constant data is smaller than the printed data
ed57ab0c2b8f [cmake] Move FindLibcCommonUtils to shared cmake, to fix standalone builds (#131586)
06546e005d2f [clang][NFC] Fix typo 'initializeation' (#131594)
175b862a3959 merge main into amd-staging
2a76734842c8 merge main into amd-staging (#1216)
17b4be8f63a9 [VPlan] Move setting name and adding VFs after recipe creation.(NFC)
e0223fa24aed [Clang][NFC] Rename SecondArgIsLastNamedArgument for clarity and consistency (#131346)
6085f3f6a80d [OpenMP] Address __kmp_dist_for_static_init issue (#129902)
f4feab927ba3 [NFC][KeyInstr] Add (LLVM_)EXPERIMENTAL_KEY_INSTRUCTIONS (cmake/)definition (#131344)
e57cd100ca29 Define LLVM_ABI and CLANG_ABI for __EMSCRIPTEN__ builds (#131578)
6eb32a2fa0d1 [clang] Change placeholder from `undef` to `poison` (#131533)
8c939f54b490 [WebAssembly] Change placeholder from `undef` to `poison` (#131536)
846cf86b2bbe libclc: Add missing gfx950 target (#131585)
0c34d7a9e7a4 [mlir][tosa] Require operand/result tensors of at least rank 1 for some operations (#131335)
5c73c5c9bf0e [X86][NFC] Add missing immediate qualifier to VSM3RNDS2 instruction (#131576)
93e0df07c2b3 [Flang][OpenMP] Allow zero trait score (#131473)
0878dd14b205 [AArch64][GlobalISel] Add coverage for arm64-neon-2velem.ll. NFC
e456579e346c [AMDGPU][RegBankCombiner] Add cast_of_cast and constant_fold_cast combines (#131307)
ab1dcac6db22 [AMDGPU][RegBankInfo] Promote scalar i16 and/or/xor to i32 (#131306)
27099982da2f [NFC][analyzer] Framework for multipart checkers (#130985)
7dcea28bf92e [AMDGPU] Add identity_combines to RegBankCombiner (#131305)
1f1f8200bdf5 AMDGPU: Switch simplifydemandedbits-recursion.ll to generated checks (#131317)
a6ae965cec96 AMDGPU: Switch scheduler-subrange-crash.ll to generated checks (#131316)
ee8a804cbab5 AMDGPU: Switch test to generated checks (#131315)
4f2ee07454b0 [BOLT][AArch64] Do not crash on authenticated branch instructions (#129898)
8cc6c2e80fb0 AMDGPU: Migrate more tests away from undef (#131314)
d9110858ee93 [Clang] Fix an incorrect assumption on getTemplatedDecl() (#131559)
a10e1e013597 [RISCV] Remove unused check prefixes from double maximum/minimum test. NFC
fd41f1b0ce1e [clang][analyzer] Add BugReporterVisitor messages for non-null fixed pointer (#129557)
6b47bba44087 [AMDGPU] Add intrinsics and MIs for ds_bvh_stack_* (#130007)
3af6c9fa832a [lldb][lldb-dap][NFC] Fix swapped logging directions for DAP messages. (#131544)
ccfabe838057 [clang-tidy-diff] Add an option to treat warnings as errors (#128221)
cdb355c60d36 merge main into amd-staging
e68153d050ce merge main into amd-staging (#1215)
9b1ce477af56 [gn build] Port 57e36419b251
57e36419b251 [analyzer] Introduce per-entry-point statistics (#131175)
c3f6d2c02496 [gn build] Port 3b1e18c2dba8
3b1e18c2dba8 [clang-tidy] Add new check bugprone-capture-this-by-field (#130297)
7eb8b7317847 [Flang][OpenMP][taskloop] Adding missing semantic checks in Taskloop (#128431)
78408fddccf3 [ExecutionEngine] Avoid repeated map lookups (NFC) (#131552)
05607a3f39f9 [CodeGen] Avoid repeated hash lookups (NFC) (#131551)
2c35cb6f16b2 [MC] Remove unneeded getNumFixupKinds
009d36222cfd [clang][CodeComplete] Add code completion for if constexpr and consteval (#124315)
6c867e27a7b5 [mlir] Use `getSingleElement`/`hasSingleElement` in various places (#131460)
f402953339fa [ORC] Fix code example in comment: SPS function sigs are function types. NFCI.
f75d75b8899a AMDGPU: Use MFPropsModifier modifier in SIFoldOperands (#127752)
8a1b4d0ed2bb [MC] Rework AVR #121498 to not add extra argument to shouldForceRelocation
b09b9ac1081d [llvm][CodeGen] Fix the empty interval issue in Window Scheduler (#129204)
e0fee65b8787 [PowerPC] Use Register in FastISel. NFC
c5a491e9ea22 [SCEV] Check whether the start is non-zero in `ScalarEvolution::howFarToZero` (#131522)
baab447aadd5 [llc] Report error in lieu of warning for invalid cl option (#128846)
de60c0e034f9 [MC] .reloc: move FirstLiteralRelocationKind check to evaluateFixup
687c9d359ee1 [CodeGen][NPM] Port FEntryInserter to NPM (#129857)
2a2d6d61b178 [RISCV] Remove unused check prefixes from half arith strict test. NFC
752aa81c4ff7 [clang][RISCV] Rename variable name in SemaRISCV. NFC (#131261)
e24e523150c2 [LoopVectorize] Add test for follow-up metadata for loops (NFC) (#131337)
95adcf28cea6 merge main into amd-staging
4fde8c341f91 [flang][cuda] Lower CUDA shared variable with cuf.shared_memory op (#131399)
02df29a45c3e Work around bitcode incompatibility with upstream (#1199)
4b86a7f3860a [clang-format] Update the minimum python version requirement
2e78abe788c5 [MSP430] Delete unneeded fixupNeedsRelaxationAdvanced
125c4db73018 [lldb][lldb-dap] setVariable request should send the correct response (#130773)
2dc123b33d51 [clang][opencl] Allow passing all zeros to reqd_work_group_size (#131543)
81ba00629668 [X86] nocf_check: disable tail call
91328dbae986 [clang-format] Correctly annotate user-defined conversion functions (#131434)
950bc6cd7745 [LoopFuse] Change placeholder from `undef` to `poison` (#131535)
82975d4ab962 merge main into amd-staging (#1211)
3e6f618e86f5 [llvm][ADT] Add `getSingleElement` helper (#131508)
40b703421377 [LV] Add tests for vector backedge elimination with early-exit loops.
ee29e16135a9 [LV] Reorganize tests for narrowing interleave group transform.
5ddd27c5e16d merge main into amd-staging
b6485765284a [CodeGen] Avoid repeated hash lookups (NFC) (#131495)
4e841d7d63cd [libc] add uefi docs (#131426)
7c98cddc5add [mlir] Expose `AffineExpr.shift_dims/shift_symbols` through C and Python bindings (#131521)
93ce34550451 [PowerPC] Avoid repeated hash lookups (NFC) (#131498)
1bc2108c49f4 [Transforms] Avoid repeated hash lookups (NFC) (#131497)
48ecec20a204 [Hexagon] Avoid repeated hash lookups (NFC) (#131496)
e2438ce94002 [BPF] Avoid repeated map lookups (NFC) (#131494)
8705e489dc17 [lldb] Remove use of comma operator (NFC) (#131233)
1ceaecdafebe merge main into amd-staging (#1209)
9829d457ae19 [libc++][test] Adds a test for a reserved name. (#131363)
616d1046c3e2 [compiler-rt][rtsan] fix ioctl interception for musl. (#131464)
215c0d2b651d [AArch64][GlobalISel] Reorder getActionDefinitionsBuilders. NFC
d928a671b84a [mlir][Vector] Refactor VectorEmulateNarrowType.cpp (#123529)
4e9894498e16 [VPlan] Truncate VFxUF if needed in VPWidenPointerInduction::execute.
dc9a183ac6aa [NFC][Cloning] Move DebugInfoFinder decl closer to its place of usage (#129154)
3a106c9092f7 merge main into amd-staging
926d980017d8 [AArch64][GlobalISel] Some minor reordering of types for consistency. NFC
a9ab5fd079f2 merge main into amd-staging (#1205)
90e6ba606f7a [AArch64][GlobalISel] Remove min/max v2s64 clamp
3fac23505ffd [AArch64][GlobalISel] Add cttz, ctlz and ctpop test coverage. NFC
de03e102d1ea [DirectX] Change placeholders from `undef` to `poison` used in fully instantiated vector [NFC] (#130970)
f4043f451d0e Skip more WebKit checker tests on targets where builtin is not supported. (#131501)
1e02442df6cf [Github][Docs] Add best practice for top level read permissions (#131470)
3fe914c9faa8 [X86] Use Register and MCRegister. NFC
0689d23ab308 [C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (#129982)
508db53d1af5 [AMDGPU] Avoid repeated hash lookups (NFC) (#131493)
d0177670a0e5 [ADT] Avoid repeated hash lookups (NFC) (#131418)
f5f8f3c64929 [GSYM] Update gSym unit test with stable / portable path (#131204)
f7cab64684bc [libc++][numeric][NFC] Cleanup *Saturation arithmetic* tests (#101826)
e30a5d657034 [libc++][NFC] Simplify string a bit (#127135)
2091547d4cc9 [PPC codegen test] NFC: Fix RUN line; fix DATA checks to match 64-bit
4286f4dccee9 [AArch64][GCS][LLD] Introduce -zgcs-report-dynamic Command Line Option (#127787)
247f995e1b42 merge main into amd-staging
7722d7519ca2 [MC] evaluateAsRelocatableImpl: remove the Fixup argument
ecadccf07789 merge main into amd-staging (#1204)
ff2ed154a8a9 [MC] evaluateAsAbsolute requires MCValue::RefKind==0
5e65b40f9c0f [clang-tidy] detect explicit casting within modernize-use-default-member-init (#129408)
d6fbffa23c84 [MC] evaluateAsRelocatable: remove the Fixup argument
0bd8a75a0c8c [VPlan] Fix formatting after 6a8d5f22f.
6a8d5f22ffc5 [VPlan] Don't access canonical IV in VPWidenPointerInduction::execute.
79d84a878e83 MipsMCExpr: remove unneeded folding and fix a crash for %hi(und-$L3)
9a1e39062b2a [Clang] Do not emit nodiscard warnings for the base expr of static member access (#131450)
aadfa9f6c872 [LV] Add additional tests for narrowing interleave groups.
6616acd80cd9 [Github] Change to step-security fork of changed actions
7c26407a20b5 [LLD][COFF] Clarify EC vs. native symbols in diagnostics on ARM64X (#130857)
8560da28c69d [PowerPC] Simplify PPCMCExpr::evaluateAsRelocatableImpl
fc6fd6a2f119 [NFC][Cloning] Clean up comments in CloneFunctionInto (#129153)
f7b3eadfd524 merge main into amd-staging
316811060775 [AddressSanitizer] Remove memory effects from functions (#130495)
37a57ca257c1 [FMF] Set all bits if needed when setting individual flags. (#131321)
5f449b9a5dae [RISCV] Allow RISCVMCExpr folding in the absence of linker relaxaxation
56b05a0d6ba6 [VPlan] Use VFxUF in VPWidenPointerInductionRecipe.
5ae8f25dcc89 [RISCV] Move fixELFSymbolsInTLSFixups to getRelocType
a1a29c3cb32a [Mips] Move fixELFSymbolsInTLSFixups to getRelocType
8ff27bbd8449 [VPlan] Remove unneeded select in VPWidenPointerInductionRecipe (NFC).
6c2f8476e7e7 [mlir][Transforms] Dialect Conversion: Add 1:N support to `remapInput` (#131454)
911953a2e408 [Sparc] Move fixELFSymbolsInTLSFixups to getRelocType
f4ea1055ad57 [SystemZ] Implement i128 funnel shifts
4155cc0fb319 [SystemZ] Recognize carry/borrow computation
4a4987be360a [SystemZ] Optimize vector zero/sign extensions
cdc786498650 [SystemZ] Optimize widening and high-word vector multiplication
7af3d3929e85 [SystemZ] Optimize vector comparison reductions
86ae25d2be59 [CodeGen][X86] Use Register in TTI unfoldMemoryOperand interface. NFC
fc17114ac00d [NFC][Cloning] Remove now unused CollectDebugInfoForCloning (#129152)
5bc8db884e3a [libc++][NFC] fix exception_guard include guard name (#131370)
d1700cdbf274 [ExecutionEngine] Avoid repeated hash lookups (NFC) (#131423)
6a1fd24e9ac0 [CodeGen] Avoid repeated hash lookups (NFC) (#131422)
03205121d264 [Analysis] Avoid repeated hash lookups (NFC) (#131421)
4230858a52ab [ARM] Avoid repeated map lookups (NFC) (#131420)
f83726e6add0 [profile] Use fprofile-continuous in compiler-rt tests (#126617)
65e68a30787d [lldb] Update dwim-print to show expanded objc instances (#117500)
e2c96a0ae30e merge main into amd-staging (#1203)
d781ac1cf0d5 [C23] Add __builtin_c23_va_start (#131166)
5cc2ae0b5190 [libc++][test] Skip a `is_virtual_base_of` test for apple-clang-17 (#131438)
1e6ba3cd2fe9 [NFC][Cloning] Remove now unused FindDebugInfoToIdentityMap (#129151)
60434bf2e2a3 merge main into amd-staging
6a030b300547 [VPlan] Remove unused VPlanIngredient (NFC).
f444c816c7ed merge main into amd-staging (#1202)
94dc397c7e1a [bazel] Add missing dependencies for fd24805c8e67c921991e82463bdc23563caf744e
254951749feb [X86][APX] Remove the EFLAGS def operand rather than the last one (#131430)
3b5413c77fd5 [CodeGen] Use MCRegister in DbgVariableLocation. NFC
6c66cda40d7c [AntiDepBreaker] Use MCRegister. NFC
720730041dee [MC] Remove empty fixELFSymbolsInTLSFixups overrides
2ada0c1e6163 [AArch64] Move fixELFSymbolsInTLSFixups to getRelocType
aead088f02b9 [AMDGPU] Avoid repeated hash lookups (NFC) (#131419)
1762f16f6cc4 [InstCombine] Fold  `umax/umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax/umin(x, y))` and `umax/umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax/umin(x, y), z)` (#131076)
215c47e4d3b2 [ctxprof] Missing test update post #131201 (#131428)
e642ed8b4ac7 [AVR] Remove initializeVariantKinds
a4976ca67498 Move Hexagon-specific MCSymbolRefExpr::VariantKind to HexagonMCExpr
b034905c8218 [ctxprof] Capture sampling info for context roots (#131201)
a3ce1cc3b0ea [MC] Remove unused VK_AVR_*
221bc55806db Move AVR-specific MCSymbolRefExpr::VariantKind to AVRMCExpr
bb694998d2f2 [libc] init uefi (#131246)
e86081b6c275 [flang][cuda] Convert cuf.shared_memory operation to LLVM ops (#131396)
4fb20b85fd81 [flang][cuda] Compute offset on cuf.shared_memory ops (#131395)
2147518d832d merge main into amd-staging
4b1b629d6034 [BOLT] Fix a warning
bac21719a8a9 [BOLT] Pass unfiltered relocations to disassembler. NFCI (#131202)
d52ec1e9ddc6 [MLIR][NFC] fix msvc debug build errors (#131393)
5265412c13b4 [MLIR][LLVMIR] Import: add flag to prefer using unregistered intrinsics (#130685)
29a000023caf [MLIR][LLVMIR] Add module flags support (#130679)
3be3c6130c66 Work around bitcode incompatibility with upstream
3de1b9e56c35 [RegAllocFast] Add missing source lines. (#1188)
b7852939b592 [NFC][AMDGPU] Replace multiple calls to `MI.getOpcode()` with `Opcode` (#131400)
f326036767aa [flang-rt] Added IsContiguousUpTo runtime function. (#131048)
b4f5dcc65a36 [lldb-dap] Reword the description in package.json
c8b8415b1af1 [flang-rt] Install flang_rt.cuda with the toolchain. (#131373)
5b2a8819fbe0 Revert "[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)" (#131405)
bf6357f0f51e [Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)
89889149cd21 [lld-macho] Improve ICF thunk folding logic (#131186)
4818623924a6 [flang][cuda] Add cuf.shared_memory operation (#131392)
471f034b1cda [clang-tidy][NFC] clean ReleaseNotes.rst (#130626)
a862b6deae98 [flang][cuda] Lower shared global to the correct NVVM address space (#131368)
c5ef332bbbe7 Manual update of LLVM_MAIN_REVISION to 530618 (#1198)
e525567755d0 [libc] Make RPC server handling header only (#131205) (#1192)
f32942263411 merge main into amd-staging (#1196)
fbf0276b6a7a [SLP] Reorder reuses mask, if it is not empty, for subvector operands
dccc0a836c20 [NFC][AMDGPU] Replace more direct arch comparison with isAMDGCN() (#131379)
605a9f590d91 [SLP]Check if user node is same as other node and check operand order
8413f4d837a9 [llvm-objcopy] Apply encryptable offset to first segment, not section (#130517)
8e4c4999cce6 Manual update of LLVM_MAIN_REVISION to 530618
456963de9690 [mlir] Fix warnings
6ac63129b7ef [LLVM] Only enable `-fno-lifetime-dse` in LTO mode (#131381)
78f74f686bfe [Darwin][ASan][Test] Create a noinlined wrapper function for reliable suppression in test. (#131247)
cb64a363ca71 [HLSL] Make sure `isSigned` flag is set on target type for `TypedBuffer` resources with signed int vectors (#130223)
f33384184462 [RISCV] Add nf argument to VReg class instead overriding with a let. NFC (#131235)
9c86198caf36 [SLP] Update vector value for incoming phi node, beeing vectorized already
955c02dc9c9c [mlir][tosa] Check for compile time constants in the validation pass (#131123)
7a7c33d4f021 [lldb] Sort source files alphabetically in API/CMakeLists.txt (NFC)
2490f7f07673 [mlir][Linalg] Allow expand shape propagation across linalg ops with dynamic shapes. (#127943)
fd24805c8e67 Reapply [mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution.  (#131380)
8bceb777a140 [NFC][Coro] Remove now unused CommonDebugInfo in CoroSplit (#129150)
b17af9d8ee4e [NFC][llvm/IR] comparison of unsigned expression in ‘>= 0’ is always true (#130843)
0f1175c8ad0d [AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 3 (#131212)
b1fe7dabceec [AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 2 (#131210)
0b688f3ce154 [AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 1 (#131206)
f798c7625e56 merge main into amd-staging
7598ceaf51e0 [gn build] Port c84d8e8f1c40
c84d8e8f1c40 [clang][modules] Introduce new `ModuleCache` interface (#131193)
d0a0de50f7dc [libc] Fix implicit conversion warnings in tests. (#131362)
51c706c11955 [NFC][AMDGPU] Replace direct arch comparison with `isAMDGCN()` (#131357)
2f9d94981c0e [BOLT] Change Relocation Type to 32-bit NFCI (#130792)
e9fc7683a54d [CIR] Upstream basic support for sizeof and alignof (#130847)
3ec693d3529c [X86] combineConcatVectorOps - use ConcatSubOperand for X86ISD::VPERMV operand concatenation (#131352)
43c34e38d496 [Comgr][NFC] Fix typo in test error log (#1181)
f8ae24a916e7 [Comgr][NFC] Add space (#1133)
e6382f211135 SelectionDAG: neg (and x, 1)  -->  SIGN_EXTEND_INREG x, i1 (#131239)
3fcd921aa492 Revert "[mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution." (#131364)
352b9e65be17 [X86] combineConcatVectorOps - extend ISD::ROTLI/VROTRI handling to support 256-bit types
3f62718c4a90 AMDGPU: Migrate some tests away from undef (#131277)
5eb557774df6 [mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution. (#130240)
87a55191a5c5 MIR: Replace undef with poison in some MIR tests (#131282)
217fc6579bd0 [lldb][lldb-dap] Return optional from json utils (#129919)
86329ba4d904 [HLSL] Remove old resource annotations (#130338)
a8949b16e64f [X86] Add test coverage showing failure to concatenate matching rotate nodes
2ee7ba47dc97 [RISCV] Move Size and CopyCost overrides for vector register to the VReg class. NFC (#131222)
cbbcc3d13b77 [C2y] Claim conformance to WG14 N3460 (#131196)
beb4a482973d [InstCombine] Use known bits to simplify mask in foldSelectICmpAnd (#128741)
cd54d581b506 [AMDGPU][True16][CodeGen] add v_cndmask_t16 to hazardmask (#128912)
3ac5d8da615e [mlir-lsp] Abstract input and output of the `JSONTransport` (#129320)
b936ef18559a [RISCV] Reorder include of RISCVInstrInfoZi* before C and Zc*. NFC (#131274)
8c31bb7da34a [GSYM] Fix incorrect comparison in gSYM creation (#131197)
bdb4012fe3f9 [CodeGen] Remove parameter from LiveRangeEdit::canRematerializeAt [NFC]
befb52db94cc [Clang] Remove use of 'temporary' toolchains for offload deduction (#131332)
999700ca477d [libc++][test] Skip some `is_implicit_lifetime` tests for apple-clang-17 (#131302)
da3ee9763266 StandardInstrumentation: Fix -ir-dump-directory with -print-before-pass-number (#130983)
792a6f811988 [RemoveDIs] Remove "try-debuginfo-iterators..." test flags (#130298)
42ddb5501748 [X86] combineINSERT_SUBVECTOR - peek through bitcasts to find a concatenation of subvector shuffles (#131331)
eeb27331dce4 [flang-rt] Use --as-needed for linking flang-rt libraries. (#130856)
fdb4b89bc0e5 [libc] Fix memmove macros for unreocognized targets
00f9c855fb3b [flang] Added fir.is_contiguous_box and fir.box_total_elements ops. (#131047)
52cd27e60b24 Revert "[Aarch64] [ISel] Don't save vaargs registers if vaargs are unused (#126780)"
72b8744aa530 [MLIR][OpenMP] Reduce overhead of target compilation (#130945)
f2541cee44ed [clang] Remove usage of llvm-spirv in clang LIT tests (#131158)
fbc3f7b6bdd3 [OpenMP][Offload][AMDGPU] Add envar for setting CU multiplier (#1143)
e9384896aec5 merge main into amd-staging (#1189)
e8117026a979 [libc] Default to `byte_per_byte` instead of erroring (#131340)
244cf89f143a [mlir][python] Small optimization to mlirApiObjectToCapsule. (#131160)
841f4637a078 [NFC][Coro] Use CloneFunctionInto for coroutine cloning instead of CloneFunction<Part> (#129149)
389ed474e81f [BPF] Remove unnecessary BitCast operations (#131260)
2198f546b167 [BPF] Avoid repeated hash lookups (NFC) (#131265)
2a09523480fc [clang] Add diagnostic for unresolved using declaration that shadows template parameters (#131328)
19b25a452439 [dsymutil] Avoid repeated hash lookups (NFC) (#131268)
1b42be6fe8b8 [Utils] Avoid repeated hash lookups (NFC) (#131267)
8d333e167503 [SelectionDAG] Avoid repeated hash lookups (NFC) (#131266)
4acfeafd8fa4 [Tooling] Avoid repeated hash lookups (NFC) (#131264)
0f98d1b9fa56 [CIR] Don't generate ClangIR after an unrecoverable error occured (#130971)
8f011e2c7f00 [Sema] Avoid repeated hash lookups (NFC) (#131263)
bbd1bb40573d [SLP]Set insert point for split node with non-scheulable instructions after the last instruction
9387281b6e98 [msan][NFCI] Add test for llvm.x86.vcvtph2ps.{128,256} (#131244)
b43620661d16 [clang] Fix inaccurate wording of warn_second_arg_of_va_start_not_last_named_param (#131238)
05df923b0e8a [CI] Add dateutil dependency to the metrics container (#131333)
737a0aeb6b4e [NFC][PowerPC] cleaned dead code of PPC.cpp and PPC.h (#130994)
a0b175cb348b [SimplifyCFG] Treat `extract oneuse(op.with.overflow),1` pattern as a single instruction (#128021)
31a4f388dac7 [libc] Make RPC server handling header only (#131205)
1a68269e2805 [clang-tidy] support pointee mutation check in misc-const-correctness (#130494)
20b7f5982622 [Clang] [Tests] Add some more tests around non-local/non-variable declarations in C for loops (#131199)
c979ce7e3629 Add IRBuilder::CreateFMA (#131112)
e4a8969e5657 [clang-tidy] Avoid processing declarations in system headers (#128150)
6962cf1700c2 Rename ExpandLargeFpConvertPass to ExpandFpPass (#131128)
73e93ec3a2ab [X86] combineConcatVectorOps - attempt to recursively call combineConcatVectorOps from inside ConcatSubOperand. (#131303)
80079c9c2f55 [libc] Fix new warning in DyadicFloat::as_mantissa_type_rounded (#131148)
e45090e5f0bf Fix BUILD.bazel due to a16c225
a54f75b46b10 [AArch64][GISel] Silence warning caused by #130156
ec95ce358c88 [lldb][AIX] Added base files for NativeProcess Support for AIX (#118160)
11d35a0a94cf AMDGPU: Use generated checks in coalescer_distribute.ll (#131276)
a9843ac28540 AMDGPU: Use generated checks in unchecked test (#131275)
3b6d0093aa82 [LV][NFC] Refactor code for extracting first active element (#131118)
a58a6a95b078 [SPIR-V] Support SPV_INTEL_fp_max_error extension for `!fpmath` metadata (#130619)
9af538420aca [AArch64][GISel] Fix lowering of fp16 intrinsics (#130156)
fb0e77ae6293 merge main into amd-staging
44f4e43b4fbb [CI] Extend metrics container to log BuildKite metrics (#130996)
6e17a6c1951b Add missing source lines.
0a5847f1c144 [X86] combineConcatVectorOps - pull out repeated getOpcode() calls. NFC.
8b217ebdd2bd [OPENMP] [FLANG] add support for formatted Io which generates call to… (#1185)
3ff3b29dd624 [flang] lower remaining cases of pointer assignments inside forall (#130772)
7bae61370d61 AMDGPU: Use generated tests in reg-coalescer-sched-crash.ll test (#131259)
4c1a1a5bf3b9 AMDGPU: Add generated checks to compile only test (#131258)
75cf046f0306 Re-apply "[AMDGPU] Fix test failures when expensive checks are enabled (#130644)"
fc8b2bf2f859 [MLIR][LLVM] Import dereferenceable metadata from LLVM IR (#130974)
bddf24ddbdb2 [Flang] Add omp_lib dependency to check-flang (#130975)
9b83ffb5c609 AMDGPU: Switch a test to generated checks which only tested labels (#131257)
8d0205f6ddae AMDGPU: Remove undef in subreg-coalescer-crash.ll (#131256)
3529c64dbc99 AMDGPU: Switch a test with only function label checks to generated (#131255)
ac94ccd56499 AMDGPU: Replace undef references with poison in some MIR tests (#131254)
17eb7777c0ff AMDGPU: Use generated checks in test missing checks (#131110)
26324bc1bf39 [VPlan] Move FOR splice cost into VPInstruction::FirstOrderRecurrenceSplice (#129645)
b6370f5a04a6 merge main into amd-staging (#1186)
f2e10278efe7 [lldb] Support discontinuous functions in another Disasembler overload (#130987)
77ad06192341 [OpenMP] Update OpenMP runtime to adopt taskgraph clause from 6.0 Specs (#130751)
467ad6a03583 [clang-format] Add support for absl nullability macros (#130346)
6b7daf224933 [MachineCombiner][Targets] Use Register in TII genAlternativeCodeSequence interface. NFC (#131272)
2a48995a03ca [ARM] Pass ArrayRef by value instead of const reference. NFC
8727097ffd01 [RISCV][Sema] Add feature check for target attribute to VSETVL intrinsics (#126064)
87916f8c32eb [CodeGen][NPM] Port MachineBlockPlacement to NPM (#129828)
42748a454fc9 [Clang driver] Diagnose `-maix-shared-lib-tls-model-opt` on wrong targets (#130865)
f34385dd1bac [AMDGPU][NPM] Port GCNCreateVOPD to NPM (#130059)
a5b95487d634 [ctxprof] Missing test for #131269 (#131271)
4a3ee4f72dcd AMDGPU: Make fma_legacy intrinsic propagate poison (#131063)
37706894f8bd AMDGPU: Make fmul_legacy intrinsic propagate poison (#131062)
a716459f2d0e AMDGPU: Make ballot intrinsic propagate poison (#131061)
75349d7ca4c6 Skip unretained-call-args.mm on platforms where builtin is not supported. (#131252)
0d8a22d6ad5d AMDGPU: Make fmed3 intrinsic propagate poison (#131060)
9b887f5277ec AMDGPU: Make cvt_pknorm and cvt_pk intrinsics propagate poison (#131059)
61adca7c9708 [ctxprof] Fix initializer in PGOCtxProfLowering (#131269)
03614b9a8a2f [BOLT] Workaround failures (#131245)
a6463f41135d [RISCV] Shrink the size of the VLMul field in RegisterClass target flags. Use uint8_t for TSFlags. NFC (#131227)
bde2636fb5fb [libc][NFC] Add the missing angle bracket in `wchar.h` (#131161)
7c63334c3f95 Revert "[libc] Make RPC server handling header only (#131205)"
910514c6ab32 AMDGPU: Replace some test undef uses with poison (#131103)
06c379a3498c AMDGPU: Replace more undef test pointer uses with poison (#131102)
37c8792e53c7 AMDGPU: Replace test uses of ptr addrspace(5) undef with poison (#131101)
ad993687b1a6 AMDGPU: Replace ptr addrspace(4) undef uses with poison in tests (#131095)
313abfbf1b57 merge main into amd-staging
482b93cabb01 Fix style
315c02aa023e [VPlan] Fix crash with inloop fmuladd reductions with blend (#131154)
0abbf1888f4e Address comments
f23bbf69f6ac [X86] Avoid repeated hash lookups (NFC) (#131069)
f4ee62c7c3ac [IPO] Avoid repeated hash lookups (NFC) (#131068)
e838ca1f49c2 [CodeGen] Avoid repeated hash lookups (NFC) (#131067)
ca641b29190f [Analysis] Avoid repeated hash lookups (NFC) (#131066)
7714df909054 [Sema] Avoid repeated hash lookups (NFC) (#131065)
dec5589d90f0 [AST] Avoid repeated hash lookups (NFC) (#131064)
9e538b312fbc merge main into amd-staging (#1180)
8437b7f55847 [libc] Make RPC server handling header only (#131205)
214d47af9bf9 [SandboxVec][PassManager][NFC] Fix PM printing
299cb5d88fad [LLVM] Update llvm-mca / MCA maintainers (#131187)
dcec224240d6 Lex: add support for `i128` and `ui128` suffixes (#130993)
3b5842c9c41a [ORC] Make runAllocActions and runDeallocActions asynchorous.
864a53b4a414 Reapply "Use global TimerGroups for both new pass manager and old pass manager timers" (#131173) (#131217)
d0c869521ce0 [Support] Prevent leaking unique lock files (#130984)
e26bcf1627cc [CodeGen] Use early return to simplify SplitEditor::defFromParent [NFC]
befa037c135c [mlir][affine] Guard invalid dim attribute in the test-reify-bound pass (#129013)
fc28f83bf5fa [SLP] Precommit test (#131236)
ab58a3c35b6f XFAIL malloc_zone.cpp for darwin/lsan (#131234)
55e5e749ce0c [RISCV] Remove some unnecessary hasSideEffects = 0 and sink some to their base class. NFC (#131044)
d1deaed0d284 [lldb] Split some lldb-server tests to avoid timeout (#129614)
8b9031f245a2 [lldb-dap] Support vscode launch URLs (#125843)
2a244bb839e3 Simplify Target::RunStopHooks() (#129578)
662bd4ca4714 [stdio][baremetal] Fix templating for print functions (#131232)
e0e80dbe4320 [Clang codegen][PPC] Produce AIX-specific "target features" only for AIX (#130864)
998511c8ef57 [debugserver] Fix mutex scope in RNBRemote::CommDataReceived (#131077)
08d15e3f64e3 Revert "reapply [llvm] add support for mustache templating language" (#131228)
54fa9e2aa46e [OPENMP] [FLANG] add support for formatted Io which generates call to API _FortranAioBeginExternalFormattedOutput
0ab9f78957b2 [docs] Fix link appearing improperly (#131225)
0f8c075f7c2c [llvm] Match llvm.type.checked.load.relative semantics to llvm.load.r… (#129583)
dfb661cd1c5f [LAA] Add extra tests for #128061.
c59c3874179f [RISCV] Improve Disassembler test xqci-invalid.txt (#130039)
96c02268ceaf [Comgr] Re-populate DataAction options for second compilation (#1130)
57d87ed7f097 [flang][NFC] Add parenthesis to avoid warning (#131219)
37d99e9c6e50 [GOFF] Refactor GOFFOstream (#131143)
4cc4a978faca [Comgr][NFC] Fix typo in test error log
e823449f66ac [lldb][debugserver] Synchronize interrupt and resume signals (#131073)
bbb244c0fdd3 [RISCV] Set CopyCost on register classes [NFC] (#131185)
688d7a5d0ade [X86] combineConcatVectorOps - extend ISD::VECTOR_SHUFFLE handling to support 512-bit types (#131189)
cfc3b220cb7f merge main into amd-staging
4bcf1e61eb84 Update the libc BUILD.bazel file with selects for Windows builds. (#131172)
1c4551474847 [mlir][tosa] Fix bug causing quantized pad const creation crash (#131125)
c30ff922caba [msan] Handle llvm.x86.vcvtps2ph.128/256 explicitly (#130705)
8c7f0eaa6ee3 Reduce memory usage in AST parent map generation by lazily checking if nodes have been seen (#129934)
8aa835c2b5a9 [ctxprof] Fix warnings post PR #130655 (#131198)
d642eec78fc9 [HEXAGON] Fix semantics of ordered FP compares (#131089)
64f67f870d6e [mlir][AMDGPU] Enable emulating vector buffer_atomic_fadd for bf16 on gfx942 (#129029)
b36bf47b2508 [LLDB][Telemetry]Init field to nullptr. (#131191)
ca4399036f59 [mlir][linalg] Add FoldReshapeWithGenericOpByCollapsing pattern (#131029)
f13d58303f8b [VPlan] Pass some functions directly to all_of (NFC).
933ecf5f30f1 [mlir] adds `[[maybe_unused]]` to variables that might not be used (#131184)
a16c225b4079 [mlir][xegpu] Convert Vector contraction to XeGPU (#122115)
6fea340023af [libc] Fix non-templated uses of `printf_core::Writer` (#131149)
02575f887bc7 [VPlan] Use VPInstruction for VPScalarPHIRecipe. (NFCI) (#129767)
e8e267ec42ed [libc] Remove use of C++ STL features from `rpc_server.cpp` (#131169)
3bd71cbec752 [libc++] Fix ambiguous call in {ranges, std}::find (#122641)
e61859f14ddd [RISCV] Add Qualcomm uC Xqcili (load large immediates) extension (#130012)
c2b66ce655e5 [flang][OpenMP] Silence unused-but-set-variable message (NFC) (#130979)
4baf1c03fa94 [libc++] Optimize ranges::rotate for vector<bool>::iterator (#121168)
369da8421c2f [flang][cuda] Allow assumed-size declaration for SHARED variable (#130833)
e93e0dd10cda [NFC] Fix formatting for #80963 (#131100)
5af5fb055527 [C2y] Claim conformance to WG14 N3482
d8dfdafc1d75 [Support] Introduce new `AdvisoryLock` interface (#130989)
bd0d28ac257d [CIR] Upstream basic support for ArrayType (#130502)
31ebe6647b7f Revert "Use global TimerGroups for both new pass manager and old pass manager timers" (#131173)
aa612f3ade66 [NFC][Cloning] Replace DIFinder usage in CloneFunctionInto with a MetadataPredicate (#129148)
09d8e442ac28 [llvm][Timer] Use global TimerGroups for both new pass manager and old pass manager timers (#130375)
09a36c82793b [lldb][NFC] Correct whitespace in SearchForKernelWithDebugHints
65220fc5aec9 [PPC] Fix coding style violations in PPCTargetTransformInfo.cpp (#130666)
7addc3557e2d [Comgr][Cache] Fix broken test: spirv-translator-cached.cl (#1151)
d06937aea38a [Flang][NFC] Fix typo (#130960)
cb0d9fcd72be [HLSL][NFC] Update HLSL AST tests to be more readable (#130910)
56d61ed04938 merge main into amd-staging (#1167)
b3b007078212 Follow up to #130230 - update missed test
d2d052b3e665 [DirectX] Use "texture" not "SRV" when pretty printing resources (#130230)
96637b46f156 [Clang] Improve `getReplacedTemplateParameterList()` const correctness (#131165)
15a5b3a19216 [AMDGPU][True16][CodeGen] gisel true16 for ICMP (#128913)
c9d7f707c101 [Headers][NFC] Deduplicate gpu_match_ between targets via inlining (#131141)
2044dd07da99 [InstrProf] Remove -forder-file-instrumentation (#130192)
0ed5f9b22bcb [MLIR] NFC. Fix unused warning in affine loop utils
01aca42363ac [flang] Add support for -f[no-]verbose-asm (#130788)
143bf95d41f4 [hwasan] Don't check code model if there are no globals (#131152)
b003face11fa [flang][OpenMP] Add `OutlineableOpenMPOpInterface` to `omp.teams` (#131109)
7661526fdf74 [X86] combineConcatVectorOps - extend PSHUFD/LW/HW handling to support 512-bit types
57e22f515e7a [X86] Add tests showing failure to concat matching VPSHUFLW/HW ymm shuffles.
85318bae285e [MachineLateInstrsCleanup] Handle multiple kills for a preceding definition. (#119132)
28ffa7f6a4d6 [flang][OpenMP] Fix missing missing inode issue (#130798)
237a9108190d [MLIR][OpenMP] Remove the ReductionClauseInterface, NFC (#130978)
c3c97eab1274 PeepholeOpt: Do not skip reg_sequence sources with subregs (#125667)
6ff33edf4d59 [MLIR][OpenMP] Minor improvements to BlockArgOpenMPOpInterface, NFC (#130789)
e3c80d4496d1 AMDGPU: Fix broken negative test from ancient times (#131106)
7a5e4f540580 [clang][NFCI] Fix getGridValues for unsupported targets (#131023)
739d1b4eb815 [Comgr] Add -nogpuinc to tests (#1062) (#1123)
5d5e706691c6 [VPlan] Restrict hoisting of broadcast operations using VPDominatorTree (#117138)
ffe202ca0053 Revert "[LV] Limits the splat operations be hoisted must not be defined by a recipe. (#117138)"
d4baf611c1cc [X86] combineConcatVectorOps - add outstanding TODOs for missing op concatenation cases. NFC.
0aa5ba43a0d1 [mlir] Fix DistinctAttributeUniquer deleting attribute storage when crash reproduction is enabled (#128566)
c26ec7ea2add [llvm][lit] fix writing results to --time-trace-output file (#130845)
b990c815029c Partial fix of BUILD.bazel after 598e882. (#131140)
b67379c35be7 [llvm-diff] Add colorful output to diff (#131012)
d1c4befe7ad2 [AMDGPU] Auto generated check lines for two tests (#1126)
7e9802f348e3 [Headers][NFC] Steps to allow sharing code between gpu intrin.h headers (#131134)
94c8fa61d697 AMDGPU: Replace some test i32 undef uses with poison (#131092)
024df9c9dc16 AMDGPU: Replace some float undef test uses with poison (#131090)
d507b3d7ce34 [X86] combineGatherScatter - pull out repeated index value type. NFC.
dff22a0c1173 [X86] combineConcatVectorOps - convert X86ISD::BLENDI concatenation to use combineConcatVectorOps recursion (#131121)
a413ef83a16b [lldb] Use Function::GetAddressRange*s* in "frame diagnose" (#130949)
d3255474be3e Reapply "[Offload][AMDGPU] LLVM_ENABLE_RUNTIMES=flang-rt for amdgpu-offload-*" (#130274)
0735537ec895 [Flang-RT] Append to library subdir
da69147a1619 [InferAttrs] Refine attributes for a few libc routines
1eb5588457c3 AMDGPU: Replace i16 undefs with poison in tests (#131084)
f613bc57c638 AMDGPU: Replace half undef uses with poison in tests (#131083)
b910610eeaf1 [libc][math] Fix Sollya command (#131091)
02fae68a45fd [mlir][vector] VectorLinearize: `ub.poison` support (#128612)
95d28fe503cc [Premerge] Add flang-rt (#128678)
786e70ff104f [mlir] Change `TypeOrValueSemanticsContainer` base from `TypeConstraint` to `Type` (#129433)
13261e856aa5 [Flang-RT][NFC] Fix comment
46739be7bcfc [GlobalISel] Preserve original flags of output instructions in matchtable (#130937)
55b806c2afb1 [MLIR][Affine] Fix affine data copy generation copy placement for missing memref definition check (#130750)
a5a162cd713d [SDAG] Pass pointer type to libcall expansion for SoftenFloatRes stack slots (#130647)
0c5eb4d68b09 [flang] Use precompiled parsing headers (#130600)
481a55a3d964 [rtsan][Apple] Add interceptor for _os_nospin_lock_lock (#131034)
abdbaff5441e [DWARFLinker] Adjust DW_AT_LLVM_stmt_sequence for rewritten line tables (#128953)
139add531a55 [InferAttrs] Mark floating-point libcalls as `errno`-writing
d0188ebcc206 [flang][OpenMP]Add symbls omp_in, omp_out and omp_priv in DECLARE RED… (#129908)
459b4e3fe108 Reland "[AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)" (#131111)
1282878c52cb [CI] Fix bad timestamps being reported (#130941)
d77ef140e66d [LoongArch] fix vec-trunc.ll  test error (#131104)
de895751d2a2 [CaptureTracking][AA] Only consider provenance captures (#130777)
55b480ec3c87 [SROA] Allow load-only promotion with read-only captures (#130735)
59fd2878fce4 [mlir][memref] Clean up `load`/`store` documentation (#130569)
cb28ec6cccf9 [Sema] Instantiate destructors for initialized members (#128866)
08de320aa2f4 [lldb] Remove Function::GetAddressRange usage from the gui (#130991)
5952972c9164 [CodeGen][NPM] Port BranchFolder to NPM (#128858)
43ab4228d00a [LoongArch] Pre-commit test for vector trunc (#131082)
4f7ea8928d49 merge main into amd-staging
bd748b33958f [RISCV] Add implicit operand {VL, VTYPE} in RISCVInsertVSETVLI when u… (#130733)
6345b009c3e5 [C++20] [Modules] Add mangling number for lambda in non-internal module unit context
9e91725fd4d4 AMDGPU: Replace some undef uses in test metadata with poison (#131052)
26ae98c4d73d AMDGPU: Replace undef global initializers in tests with poison (#131051)
21cef8aa1c95 [MLIR][NVVM] Add support for tcgen05.{ld, st} (#130728)
7811075b6f66 AMDGPU: Replace ptr undef in tests with poison (#131050)
f81531c38be0 Move VE-specific MCSymbolRefExpr::VariantKind to VEMCExpr
331250c6fac8 AMDGPU: Replace ptr addrspace(3) undef in tests with poison (#131049)
34f4ee7c0d98 [C++20] [Modules] Merge codes to decide if we should generate decl
1d1f2e8c5be3 [M68k] Implement TLI::convertSelectOfConstantsToMath
6abe19ac587d [clang] Predefine `_CRT_USE_BUILTIN_OFFSETOF` in MS-compatible modes (#127568)
5d5f16204f17 Move PowerPC-specific MCSymbolRefExpr::VariantKind to PPCMCExpr
95e186cadfc8 Reland "DAG: Preserve range metadata when load is narrowed" (#128144) (#130609)
73e12de062c1 [HLSL] Implement explicit layout for default constant buffer ($Globals) (#128991)
bc4b2c74fe4e [X86][APX] Add NF instructions to convertToThreeAddress functions (#130969)
642a4763dfaa [PowerPC] Rename PPCMCExpr's VK_PPC_ to VK_. NFC
fe0d3e376496 [Sema] Diagnose by-value copy constructors in template instantiations (#130866)
646a6e7f1088 [PowerPC] Simplify PPCMCExpr::printImpl
08a3c532255d [RegAlloc] Scale the spill weight by target factor (#113675)
3438dfc7ff88 [mlir][tensor] Fix bufferization interface for 'tensor.reshape' (#128590)
376e3b62cd36 [TableGen] Add `!match` operator to do regex matching (#130759)
f291ec692e88 [libc] Use proxy header in the `locale` implementation. (#130982)
79a5974294eb [gn build] Port 4dcba5e08dc9
4dcba5e08dc9 [alpha.webkit.ForwardDeclChecker] Add a new WebKit checker for forward declarations (#130554)
62e37a8a0ae8 [RISCV][Disassembler] Use a table to store all the decoder tables and their associated features. NFC (#130883)
853849a984dd [ORC] Remove some unnecessary namespace qualifications. NFCI.
0a78bd67b311 AMDGPU: Make frexp_exp and frexp_mant intrinsics propagate poison (#130915)
4d8070e95602 [C++20] [Modules] Don't add decls from other units to undefinedButUsed set
d8f17b3de1ca AMDGPU: Make sqrt and rsq intrinsics propagate poison (#130914)
95ab95fd10b2 AMDGPU: Make rcp intrinsic propagate poison (#130913)
eea7d32bd262 [MC] Move fixSymbolsInTLSFixups to ELFObjectWriter
e4a0fd5416a3 [gn build] Port be9ca85d64eb
be9ca85d64eb [alpha.webkit.webkit.RetainPtrCtorAdoptChecker] Add a new WebKit checker for correct use of RetainPtr, adoptNS, and adoptCF (#128679)
716c34b15060 merge main into amd-staging (#1163)
12fe5ae88cce AMDGPU: Replace ptr addrspace(8) undef uses with poison (#130904)
27d83184c4ca [alpha.webkit.UncountedCallArgsChecker] Treat an explicit construction of Ref from a Ref return value safe. (#130911)
e1e44dfcad00 AMDGPU: Replace <8 x i32> undef uses in tests with poison (#130903)
c182f4042ada AMDGPU: Replace <4 x i32> undef uses in tests with poison (#130902)
6705d812b856 AMDGPU: Replace ptr addrspace(1) undefs with poison (#130900)
44ff94e99e03 [Diagnostics] Return rvalue reference from temporary argument (#127400)
cb73271be12a [AMDGPU][CodeGen] use vt in VGPRimm pattern (#131016)
f4fc2d731c1b [flang][OpenMP] Map ByRef if size/alignment exceed that of a pointer (#130832)
c54299170395 [flang-rt] Fixed HAVE_LDBL_MANT_DIG_113 detection. (#131010)
726ffd361cd9 [NFC][Cloning] Replace IdentityMD set with a predicate in ValueMapper (#129147)
98c279a3ed20 [lldb] Add missing optional conversion
1cfca53b9f2e [llvm][Timer] Don't print timers in TimerGroup when all Timers are removed (#131026)
c14e459ef8bd [Clang] add additional tests for -Wshift-bool (#130339)
ecf4d995f689 [mlir][linalg][elementwise] Fold transpose into new elementwise (#130207)
0639201ce8b3 merge main into amd-staging
be0215d7456f [CIR] Add transform test for cir-flatten-cfg (#130861)
62994c329123 [VPlan] Also introduce explicit broadcasts for values from entry VPBB.
9c65e6ac115a [HEXAGON] Add support to lower "FREEZE a half(f16)" instruction on Hexagon and fix the isel-buildvector-v2f16.ll assertion (#130977)
202137dbead8 [SLP]Fix a crash on matching gather operands of phi nodes in loops
64b94105d5c7 [CIR] Upstream support for emitting ignored statements (#130869)
202d9a7b51f3 Amd/dev/rlieberm/reland flang rt (#1159)
cba9dc6e9d04 [libc][nfc] Use common implementation of read_first_lane_u64 (#131027)
c476a4a907a5 [Clang][OpenCL] Fix Missing `-fdeclare-opencl-builtins` When Using `--save-temps` (#131017)
c8047c6dbcb5 [AMDGPU][True16][CodeGen] update test for buildbot failure (#131028)
15e6bb622417 [ORC] Rename wrapper arguments to match conventions. NFCI.
9d7e1d92dbef [AMDGPU][True16] added Pre-RA hint to improve copy elimination (#103366)
5929de8c7731 [gn build] Port 7790d69cce04
7790d69cce04 [lldb-dap] Refactoring IOStream into Transport handler. (#130026)
4d79e9892c48 [Support] Avoid repeated hash lookups (NFC) (#130891)
aa008e00085a Revert "[AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)"
598e882ee88a [libc] Template the writing mode for the writer class (#111559)
3aa96f52cff3 [OpenMP] [Taskgraph] Differentiating task ids from the taskgraph and from the debugger (#130660)
ab53e1c8e523 [C2y] Claim conformance to WG14 N3363 (#130980)
ed5d9c3abcbe merge main into amd-staging (#1155)
7f415e444197 [clang][SYCL] Disable float128 device mode diagnostic (#128513)
e27fe2e07c04 [OpenACC][NFC] Add the _Pragma spelling to a bunch of the tests
96be34e595bb [SandboxVec][SeedCollector][NFC] Fix typo in banner
c44c9051747e [mlir][tosa] Add error if verification to pooling operators (#130052)
f62e168d3f1d [lldb-dap] Validate server mode support prior to invoking lldb-dap. (#130855)
caf301891a10 Add unretained call args checker (#130901)
378739f18208 [SystemZ]  Move disabling of arg verification to before isFullyInternal(). (#130693)
e619073f0302 [SandboxVec][NullPass][NFC] Add missing banner comment at top of file
8b093e5e1752 [webkit.UncountedLambdaCapturesChecker] Recognize std::move(protectedThis) (#130925)
184f9449572b Implement the `fmod` intrinsic (#130320)
78c9fa3a380e [lldb] Implement ANSI & Unicode aware string stripping & padding (#130878)
6030936ec82a [NVPTX] Fix bug in sign of bfe folding (#130862)
fc127ff53d0c [mlir] Extract RHS rows once when lowering vector.contract to dot (#130130)
40d6784ac441 [flang] preemptive sentinel for flang-rt if needed
1a626e63b5a0 [flang] Fix deprecation warning
e1ac57d53a18 [MemProf] Extend CallSite information to include potential callees. (#130441)
4518780c3cff [PowerPC] Add intrinsics and tests for basic Dense Math enablement instructions (#129913)
ea2e66aa8b6e [LLVM][ConstantFold] Undefined values are not constant (#130713)
dd181af9506d [X86] Add isMaskableNode helper to determine if a node could potentially fold into a AVX512 predicated instruction. NFC.
daecde2f84b8 [Flang] Fix libquadmath in non-LLVM_ENABLE_RUNTIMES build.
45c6d0dd3a96 [Flang-RT] Environment introspection for quadmath.h (#130411)
f137c3d592e9 [TargetRegistry] Accept Triple in createTargetMachine() (NFC) (#130940)
71582c6667a6 [AMDGPU] Remove s_delay_alu for VALU->SGPR->SALU (#127212)
ec941a4a0451 [NVPTX] Legalize ctpop and ctlz in operation legalization (#130668)
48b19912ca58 [NVPTX][test] Use 'not' to switch an XFAIL test to PASS (#130839)
f4d599cda90a [Support] Do not remove lock file on failure (#130834)
2620742bf61e [Utils] Avoid repeated hash lookups (NFC) (#130892)
a3b0189f6daa [Transforms] Avoid repeated hash lookups (NFC) (#130890)
db3fdbc84beb [CodeGen] Avoid repeated hash lookups (NFC) (#130889)
0359677695a7 [Driver] Avoid repeated hash lookups (NFC) (#130888)
e5aac528fede [AST] Avoid repeated hash lookups (NFC) (#130887)
bdbe8fa1f3dc [flang] Align `-x` language modes with `gfortran` (#130268)
1db978cd7813 [DirectX] Remove DXILResourceMDAnalysis (#130323)
665299eb3e7a [mlir][Transforms] Add a utility method to move value definitions. (#130874)
e11ede5e90ee Revert "[MS][clang] Add support for vector deleting destructors (#126240)"
90a8322399c7 [RISCV] Add an error that Xqccmp, Xqciac, and Xqcicm are not compatible with C+D or Zcd. (#130816)
d71b3debc966 [X86][GISel] Use Register and MCRegister. NFC (#130907)
7a25c725abc5 [X86] Use Register in X86SpeculativeLoadHardening.cpp. NFC (#130905)
5c02e74d21fd Fix use of CXXThisScopeRAII
10085390c6d4 [SLP]Reduce number of alternate instruction, where possible
9820248e0aaa AddressSanitizer: Add use-after-scope to pass options (#130924)
982527eef0f2 [flang] Use saturated intrinsics for floating point to integer conversions (#130686)
8be1d1235d58 [X86] combineX86ShufflesRecursively/combineX86ShuffleChain - pass down SDLoc instead of relying on Root node every recursion. NFC.
c56514f75b07 [X86] mfence.ll - remove dead X32 check prefix
07d86d25c9bc [ctxprof] Flat profile collection (#130655)
a502c656881c [BuildLibCalls] Add helper for setting memory effects (NFC)
190063464e12 [MC] Speed up checkFeatures() (NFCI) (#130936)
cbeae3e117b8 [Flang] Fix libquadmath in non-LLVM_ENABLE_RUNTIMES build.
5da9044c4084 [MemCpyOpt] Fix clobber check in fca2memcpy optimization
72ee9b82151f [NFC][analyzer] Rename `CheckerBase::getCheckerName` to `getName` (#130953)
2c6620f4f373 merge main into amd-staging
b76e396990ef AMDGPU: Replace tests using undef in shufflevector with poison (#130899)
2fbddfbdc014 [X86] combineConcatVectorOps - remove unused DAGCombinerInfo argument. NFC. (#130951)
c6e88b218942 Proper BUILD.bazel fix due to c07e1e3 (#130962)
1d0dd76eec05 AMDGPU: Replace insertelement undef with poison in cases with manual updates (#130898)
da42b2f67da6 AMDGPU: Replace insertelement poison with insertelement undef (#130896)
ab557afa40af [libc][nfc] Include instantiations of gpuintrin.h in IR test case (#130956)
2c8e154ce8e8 [gn build] Port f10a8706a144
6af9fd9430d5 [gn build] Port 76d5a79bed00
1e58bdcc73c5 [gn build] Port 75f76d482cc2
cd043e4fbe61 [Docs] Add a link to Clang Area Team members
de34213a67c2 [gn] port ab6f470675ed
6717a38bb5fd [gn] port 3a7a9c928671 better
2e921452ca09 [Clang] [OpenMP] Fixed wrong type usage in Xteam Reduction codegen. (#1141)
72281311adc1 merge main into amd-staging (#1148)
73e23f899f2a [AMDGPU] Change placeholder from `undef` to `poison` (#130858)
15136f1c09d9 [AMDGPU] Change placeholder from `undef` to `poison` (#130853)
5073b5fdfaf9 [CVP] Infer `nuw`/`nsw` flags for TruncInst (#130504)
059ada405c1e [PreISelintrinsicLowering] getTypeSizeInBits/8 => getTypeAllocSize in memset.pattern lowering
f93cd423bdd2 [Comgr] Turn DEVICE_LIBS_ID into an unsigned char (#1127)
1d89d7d5d76e [Docs] Explain how to propose an extension in Clang (#130803)
6bf0c4648eea reapply [llvm] add support for mustache templating language (#130876)
cf68c9378b0c [Flang][OpenMP] Move declare mapper sym creation outside loop, NFC (#130794)
032f83b743b7 [MLIR][OpenMP] Enable BlockArgOpenMPOpInterface accessing operands (#130769)
c851ee38ad45 [flang][OpenMP] catch namelist access through equivalence (#130804)
0165ca3a0938 BUILD.bazel fix due to c07e1e3
76cf895717e9 Revert "[HLSL] error on out of bounds vector accesses (#128952)"
30fa7a231def [NFC][Cloning] Make DifferentModule case more obvious in CollectDebugInfoForCloning (#129146)
77b55c76aceb [llvm][docs] Add notes on upstreaming code from downstream projects (#129743)
014bf63c2e7f AMDGPU/GlobalISel: Temporal divergence lowering i1 (#124299)
c07e1e390ccb AMDGPU/GlobalISel: Temporal divergence lowering (non i1) (#124298)
51fa25b2ee49 [Comgr][Cache] Fix broken test: spirv-translator-cached.cl
553da9634dc4 AMDGPU/GlobalISel: Update divergence lowering tests (#128702)
fef0b8a0ba58 [lldb] Let languages see all SymbolContexts at once when filtering breakpoints (#129937)
5ec884e5d8a1 Revert "[SLP]Reduce number of alternate instruction, where possible"
3ad810ea9a97 AMDGPU/GlobalISel: Disable LCSSA pass (#124297)
9f617161aa8d [CodeGen][NPM] Port PatchableFunction to NPM (#129866)
ad704ff62b4a [X86][NF] Switch the order of Inst and &Target.getInstruction(NewRec) (#130739)
fe134d47c37c merge main into amd-staging
65ade6d2ebbe [AMDGPU] Merge consecutive wait_alu instruction (#128916)
adb44ed2b864 [AArch64] Add -cost-kind=all coverage for insert-extract.ll and shuffle-load.ll. NFC
6f89c1ff6b88 [AArch64] Remove Kyro run lines from insert-extract.ll. NFC
5a0a2f8239d3 AMDGPU: Replace undef with poison in tests using insertvalue (#130895)
5daba3dfd927 [AMDGPU][NFC] Format GCNCreateVOPD.cpp (#130548)
c22c5643db68 [AMDGPU][NPM] Port SIMemoryLegalizer to NPM (#130060)
a6089a949fef [AMDGPU] Ignore RegMask operands when folding operands to SALU insts (#130813)
15e335f04fba [flang] also set llvm ABI argument attributes on direct calls (#130736)
c9563a422cea [Clang][NFC] Remove CallExpr::CreateTemporary (#130919)
369c0a7483a4 [clang-repl] Fix target creation in Wasm.cpp (#130909)
525d412cae53 [AMDGPU] Fix typing error introduce in promote alloca change
7decd046260d [Clang] Add __builtin_elementwise_exp10 in the same fashion as exp/exp2 (#130746)
418e07b7e679 [mlir][Tensor] Check for out-of-bounds slice in `insert/extract_slice` verifier (#130487)
c86d88484709 AMDGPU: Update LIT tests for i1-to-bf16 conversions (NFC) (#130916)
528a6979543f merge main into amd-staging (#1140)
90a08fb4b7e7 [LLD][COFF] Update nodefaultlibs after updating search paths (#128813)
d921bf233c4f [AMDGPU] Extend promotion of alloca to vectors (#127973)
57a90883ca54 [CodeGen][NPM] Port DetectDeadLanes to NPM (#130567)
8d7cb5d05b12 [HLSL][NFC] Update resource metadata tests to not use obsolete annotations (#130222)
bde140c47fe0 AMDGPU: Remove a FileCheck from an XFAILed test
5f20f9a01261 [clang][AST] Remove HasFirstArg assertion in CallExpr::getBeginLoc() (#130725)
606e9fa44455 [WindowsDriver] Always consider `WinSdkVersion` (#130377)
7a66a26658f4 [llvm-objcopy,ELF] --discard-locals/--discard-all: allow and keep symbols referenced by relocations
1585db458f04 [IR] Optimize CFI in `writeCombinedGlobalValueSummary` (#130382)
bf2d1c46072a AMDGPU: Disable machine verifier in failing test
d898761ca24a [RISCV] FeatureVendorXwchc should imply FeatureStdExtZca. (#130817)
725726171240 [NVPTX] Fix generic address in st.bulk intrinsic (#130740)
adae90ee35ca AMDGPU: Add baseline test for coalescing vgpr to agpr subreg inserts (#130877)
e427f0694ed0 [ADT] Use adl_begin in make_first_range and make_second_range (#130521)
9ef7287d4252 [profile] runtime counter relocation needed on all windows targets (#127858)
c02b0c99f0c1 [OpenMP][Offload][AMDGPU] Add envar for setting CU multiplier
ab22f652a4df [libc] implement `strings/str{n}casecmp_l` (#130407)
c12761858c72 [Clang] Fix the printout of CXXParenListInitExpr involving default arguments (#130731)
30fdeec0f8f9 [ADT] Use `adl_being`/`end` in `map_range` (#130508)
6981f7e92a05 [mlir] account for explicit affine.parallel in parallelization (#130812)
554347ba45b5 Revert "[llvm] add support for mustache templating language (#105893)" (#130873)
7ae75851b2e1 [X86][APX] Support peephole optimization with CCMP instruction (#129994)
9415b7d97fc3 [Support] Fix -Wpessimizing-move in Mustache.cpp (NFC)
371ea32bafc7 breaks flang build: Revert [Flang-RT] Environment introspection for quadmath.h (#130411)
8f05f2536016 reapply [llvm] add support for mustache templating language (#130732)
b6f502ddb0d1 AMDGPU: Implement i1 to bfloat conversion (#130831)
da708814beee [RISCV] Move DecoderNamespace in RISCVInstrInfoXCV.td to the Instruction defs. NFC (#130800)
da478df56358 [X86] Avoid repeated hash lookups (NFC) (#130710)
72aec1dfcae4 [IPO] Avoid repeated hash lookups (NFC) (#130708)
bc5153b987a6 [Clang] [OpenMP] Fixed wrong type usage in Xteam Reduction codegen.
3692fb6ba58a [mlir][math] add benefit arg to populate math approximations/expansions (#130782)
d547005f6c2b [flang-rt] Enable -funwind-tables so that backtrace works. (#130848)
050d1cbf865c merge main into amd-staging
76d5a79bed00 [ORC] Drop EHFrameRegistrar, register eh-frames with AllocActions (#130719)
634e25319e0e [mlir] Add special case for 0-D tensor when fusing expand from collapse (#130838)
701148f05a7b [CIR] Upstream initial support for CIR flattening (#130648)
6dbb5319ce3e [flang-rt] Set HAVE_LDBL_MANT_DIG_113. (#130836)
0e4ba47ca827 [clang-tidy] support to detect conversion in `make_optional` for `bugprone-optional-value-conversion` (#130417)
4d6ca116221a [AstMatcher]`templateArgumentCountIs` support `FunctionDecl` (#130416)
009dfb435f3e Reland "[LLD][ELF] Don't spill to same memory region" (#130851)
89fa592b68c7 [mlir][tosa] Update Matmul description to align with spec (#130835)
34a3c2302ba5 [AArch64][SVE] Change placeholder from `undef` to `poison` (#130519)
dc23234a6613 [VPlan] Remove dead code in VPWidenPHIRecipe::print (NFC).
8c97ddff5318 [mlir][DataLayout] Add a default memory space entry to the data layout. (#127416)
dad0a4e88636 [ADT] Use `adl_being`/`adl_end` in `make_early_inc_range` (#130518)
486faec155bf Amd/dev/agozillo/rebase reland has addr (#1128)
8132c4f55474 [VPlan] Also introduce broadcasts for live-ins used in vec preheader.
74eba972ca38 [flang] Definitions of fir.pack/unpack_array operations. (#130698)
d578148b7d52 [libc][math] Skip checking for exceptional values when LIBC_MATH_SKIP_ACCURATE_PASS is set. (#130811)
c337e2d250a9 [NFC][AMDGPU] Auto generate check lines for some disassembler tests (#130799)
3189402466d3 [NFC][AMDGPU] Auto generate check lines for some assembler tests (#130797)
f9568e8d23b7 [HLSL] Make memory representation of boolean vectors in HLSL, vectors of i32. Add support for boolean swizzling. (#123977)
dafb566710cd [Support] Return `LockFileManager` errors right away (#130627)
7573ee17813b Revert "[alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments." (#130828)
d84755b10d09 [docs] Fix broken formatting for link in HowToCrossCompileLLVM
10a6a349d66a [libc][bazel] Create libc_release_library for release configurations. (#130694)
2f403ee48714 [clang][modules] NFC: Remove unused function parameter
69f59285ea27 [X86] combineConcatVectorOps - convert X86ISD::PCMPEQ/PCMPGT concatenation to use combineConcatVectorOps recursion instead of IsConcatFree (#130814)
9e64fc6fb7d9 [alpha.webkit.UnretainedCallArgsChecker] Add a checker for NS or CF type call arguments. (#130729)
c2ed840ed94d Revert "[LLD][ELF] Don't spill to same memory region" (#130815)
1cb14078658f [HLSL] Add bounds checks for the hlsl vector arguments and return types (#130724)
456fa47bab47 [C2y] Claim conformance to WG14 N3505
381599f1fe97 [ELF] Allow KEEP within OVERLAY (#130661)
14176d10842d [C2y] Remove WG14 N3459 from the C status page
7de895ff1146 [SLP]Reduce number of alternate instruction, where possible
b81fc28f8b4d [Comgr][NFC] Add space
ba11e1e5222c [docs] Rewrite HowToCrossCompileLLVM (#129451)
5686786c550c [BPF] Fix BitCast Assertion with NonZero AddrSpace (#130722)
3fc3e7b378ea [Comgr] Re-populate DataAction options for second compilation
313e2ef93eb2 [libc] Mark fixed point type generic macros as complete (#130805)
9f2bd97a5dcb [X86] combineConcatVectorOps - convert X86ISD::PACKSS/US concatenation to use combineConcatVectorOps recursion (#130575)
c4280db3a0fe [X86] Add getBLENDIBlendMask helper to extract X86ISD::BLENDI blend mask. NFC.
5f21ee20f84a [LLD][ELF] Don't spill to same memory region (#129795)
f696ba95e861 merge main to amd-staging (#1118)
eaca60d1a9a5 [clang] Hide the `DiagnosticOptions` pointer from `CompilerInvocation` (#106274)
65016475084f [StaticAnalyzer] Relax the pre-condition of 'setsockopt' (#130683)
f10a8706a144 [analyzer] Sink false [[assume]] execution paths (#130418)
d22d14375d44 [clang-tidy] support different precisions (#130540)
517c6778ead6 [clang-tidy] Add check on constexpr & static values in modernize-use-default-member-init (#129425)
4f60f45130c6 [llvm] replace static_assert with std::enable_if_t in ilist_node_impl (#127722)
f1598367b661 [lldb-dap] Adding logging helpers. (#130653)
1324dfe3e177 [AIX] Add -pthread to build on AIX (#129108)
2bf7018bb03e [RISCV] Move let statement for hasSideEffects, mayLoad, mayStore into BranchCC_rri. NFC (#130721)
90c11ad46f42 [ELF] Introduce ReportPolicy to handle -z *-report options. NFC
34647667aa02 [RISCV] Sink hasSideEffects, mayLoad, mayStore from defs to classes in RISCVInstrInfoXCV.td. NFC (#130714)
146ef7a5f44a [TableGen] Remove unnecessary const_cast and use range-based for loops. NFC (#130717)
83ec179fc8b4 [Clang][NFC] Rename and update_cc_test_checks over strictfp-elementwise-builtins.cpp (#130747)
74c3df6cb554 [Comgr] Turn DEVICE_LIBS_ID into an unsigned char
0e13a2df117f Reland/fix conflicts for PR: d67947162f4b
ae985267d0a1 [RISCV] Update to Xqciint v0.4 (#130219)
f90aa4189787 [Support] Remove output file checks from `LockFileManager` (#130395)
93d41d814816 [LV] Use ElementCount::isKnownLT to factor code (NFC) (#130596)
1fe463182cea [hexagon] Prevent alignment search beyond a label (#130631)
d8d2e0779a40 Even more BUILD.bazel fixes for commit 205c532. (#130784)
a71c9d843862 [NFC][analyzer] Remove CheckerNameRef::getName() (#130780)
c542f425796d [AArch64] Update cost test to use -cost-kind=all. NFC
f3e55944a946 [mlir][ODS] Switch declarative rewrite rules to properties structs (#124876)
b334321678d4 [X86] Prefer `lock or` over mfence (#106555)
222b99d3aac5 [AMDGPU][True16][CodeGen] update waitcnt for true16 (#128927)
7129205816ca [LoopVectorize] Move checking for OptForSize into the cost model (NFC) (#130752)
fb397ab1e5f3 Reland "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#130761)
278087cc86db [Comgr] Add -nogpuinc to tests (#1062)
7c77a4655ca5 [X86] combineConcatVectorOps - convert ISD::VECTOR_SHUFFLE concatenation to use combineConcatVectorOps recursion (#130610)
f33dca41a3a0 [llvm-rtdyld] Avoid repeated hash lookups (NFC) (#130711)
3339632e9c68 [Utils] Avoid repeated hash lookups (NFC) (#130709)
8c2714e44802 [ExecutionEngine] Avoid repeated hash lookups (NFC) (#130707)
21f1ef330f22 [AMDGPU] Avoid repeated hash lookups (NFC) (#130706)
d48a36f5833a [ms] [llvm-ml] Allow optional parenthesized arguments for macros (#129905)
35…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flang:openmp flang Flang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants