From 4ad367ce7765791c7f2132bb8fc2b4136e6b3803 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Sep 2026 02:01:22 +0000 Subject: [PATCH] [LLVM] Bump to b47a631ee --- .../mlir/extras/runtime/passes.py | 24 +++++++++++++++++-- .../mlir-python-mcp/mlir_python_mcp/passes.py | 24 +++++++++++++++++-- third_party/llvm-project | 2 +- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/projects/eudsl-python-extras/mlir/extras/runtime/passes.py b/projects/eudsl-python-extras/mlir/extras/runtime/passes.py index 3470589e0..ff363bc27 100644 --- a/projects/eudsl-python-extras/mlir/extras/runtime/passes.py +++ b/projects/eudsl-python-extras/mlir/extras/runtime/passes.py @@ -78,7 +78,13 @@ def acc_compute_lowering(self, device_type: "mlir::acc::DeviceType" = None): return self def acc_declare_ctor_dtor_conversion( - self, priority: int = None, generate_dtors: bool = None + self, + priority: int = None, + generate_dtors: bool = None, + extra_ctor_name: str = None, + extra_constructors: List[str] = None, + entry_only_constructors: List[str] = None, + entry_point_name: str = None, ): """Convert OpenACC declare global constructors and destructors to LLVM functions @@ -96,10 +102,21 @@ def acc_declare_ctor_dtor_conversion( Args: priority: Priority for ACC declare global constructors and destructors generate_dtors: Generate LLVM destructor functions and register them globally + extra_ctor_name: Name of the extra constructor function added to global ctors. + extra_constructors: Extra functions to declare and call from an OpenACC constructor. + entry_only_constructors: Extra functions to declare and call from an OpenACC constructor when the entry-point-name is defined and present in the module + entry_point_name: Symbol name of the entry point. Extra constructors with in entryOnlyConstructors are emitted only when this symbol is present. Empty means entryOnlyConstructors are never emitted. """ self.add_pass( "acc-declare-ctor-dtor-conversion", - **{"priority": priority, "generate-dtors": generate_dtors} + **{ + "priority": priority, + "generate-dtors": generate_dtors, + "extra-ctor-name": extra_ctor_name, + "extra-constructors": extra_constructors, + "entry-only-constructors": entry_only_constructors, + "entry-point-name": entry_point_name, + } ) return self @@ -4682,6 +4699,9 @@ def remove_dead_values(self, canonicalize: bool = None): (D) Removes simple and region branch ops that have all non-live results and don't affect memory in any way. + The pass applies only to nested operations. It preserves the root + operation, including its operands, results, and function signature. + Here, a "simple op" refers to an op that isn't a symbol op, symbol-user op, region branch op, branch op, region branch terminator op, or return-like. diff --git a/projects/mlir-python-mcp/mlir_python_mcp/passes.py b/projects/mlir-python-mcp/mlir_python_mcp/passes.py index 3470589e0..ff363bc27 100644 --- a/projects/mlir-python-mcp/mlir_python_mcp/passes.py +++ b/projects/mlir-python-mcp/mlir_python_mcp/passes.py @@ -78,7 +78,13 @@ def acc_compute_lowering(self, device_type: "mlir::acc::DeviceType" = None): return self def acc_declare_ctor_dtor_conversion( - self, priority: int = None, generate_dtors: bool = None + self, + priority: int = None, + generate_dtors: bool = None, + extra_ctor_name: str = None, + extra_constructors: List[str] = None, + entry_only_constructors: List[str] = None, + entry_point_name: str = None, ): """Convert OpenACC declare global constructors and destructors to LLVM functions @@ -96,10 +102,21 @@ def acc_declare_ctor_dtor_conversion( Args: priority: Priority for ACC declare global constructors and destructors generate_dtors: Generate LLVM destructor functions and register them globally + extra_ctor_name: Name of the extra constructor function added to global ctors. + extra_constructors: Extra functions to declare and call from an OpenACC constructor. + entry_only_constructors: Extra functions to declare and call from an OpenACC constructor when the entry-point-name is defined and present in the module + entry_point_name: Symbol name of the entry point. Extra constructors with in entryOnlyConstructors are emitted only when this symbol is present. Empty means entryOnlyConstructors are never emitted. """ self.add_pass( "acc-declare-ctor-dtor-conversion", - **{"priority": priority, "generate-dtors": generate_dtors} + **{ + "priority": priority, + "generate-dtors": generate_dtors, + "extra-ctor-name": extra_ctor_name, + "extra-constructors": extra_constructors, + "entry-only-constructors": entry_only_constructors, + "entry-point-name": entry_point_name, + } ) return self @@ -4682,6 +4699,9 @@ def remove_dead_values(self, canonicalize: bool = None): (D) Removes simple and region branch ops that have all non-live results and don't affect memory in any way. + The pass applies only to nested operations. It preserves the root + operation, including its operands, results, and function signature. + Here, a "simple op" refers to an op that isn't a symbol op, symbol-user op, region branch op, branch op, region branch terminator op, or return-like. diff --git a/third_party/llvm-project b/third_party/llvm-project index 0bd330675..b47a631ee 160000 --- a/third_party/llvm-project +++ b/third_party/llvm-project @@ -1 +1 @@ -Subproject commit 0bd330675f9eb08126e467505a0800f167084473 +Subproject commit b47a631eeaff515d63232ba5b69f7206ea9ca718