Skip to content

Commit 3fe282a

Browse files
authored
[Pass] Add pre-isel-intrinsic-lowering to pass registry (#90851)
This was removed due to avoid circular dependency between `CodeGen` and `Passes`, but now I realized this is no longer a problem since `CodeGenPassBuilder` is moved into `Passes`.
1 parent 7dfb6f5 commit 3fe282a

File tree

6 files changed

+11
-0
lines changed

6 files changed

+11
-0
lines changed

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
#include "llvm/CodeGen/MIRPrinter.h"
9494
#include "llvm/CodeGen/MachineFunctionAnalysis.h"
9595
#include "llvm/CodeGen/MachinePassManager.h"
96+
#include "llvm/CodeGen/PreISelIntrinsicLowering.h"
9697
#include "llvm/CodeGen/SafeStack.h"
9798
#include "llvm/CodeGen/SelectOptimize.h"
9899
#include "llvm/CodeGen/ShadowStackGCLowering.h"

llvm/lib/Passes/PassRegistry.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ MODULE_PASS("pgo-icall-prom", PGOIndirectCallPromotion())
102102
MODULE_PASS("pgo-instr-gen", PGOInstrumentationGen())
103103
MODULE_PASS("pgo-instr-use", PGOInstrumentationUse())
104104
MODULE_PASS("poison-checking", PoisonCheckingPass())
105+
MODULE_PASS("pre-isel-intrinsic-lowering", PreISelIntrinsicLoweringPass(*TM))
105106
MODULE_PASS("print", PrintModulePass(dbgs()))
106107
MODULE_PASS("print-callgraph", CallGraphPrinterPass(dbgs()))
107108
MODULE_PASS("print-callgraph-sccs", CallGraphSCCsPrinterPass(dbgs()))

llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
; RUN: opt -S -mtriple=amdgcn-- -pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=4 %s | FileCheck -check-prefix=OPT4 %s
44
; RUN: opt -S -mtriple=amdgcn-- -pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=0 %s | FileCheck -check-prefix=OPT0 %s
55
; RUN: opt -S -mtriple=amdgcn-- -pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=-1 %s | FileCheck -check-prefix=OPT_NEG %s
6+
; RUN: opt -S -mtriple=amdgcn-- -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=8 %s | FileCheck -check-prefix=OPT8 %s
7+
; RUN: opt -S -mtriple=amdgcn-- -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=4 %s | FileCheck -check-prefix=OPT4 %s
8+
; RUN: opt -S -mtriple=amdgcn-- -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=0 %s | FileCheck -check-prefix=OPT0 %s
9+
; RUN: opt -S -mtriple=amdgcn-- -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=-1 %s | FileCheck -check-prefix=OPT_NEG %s
610

711
; Test the -mem-intrinsic-expand-size flag works.
812

llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
22
; Check the default works
33
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -pre-isel-intrinsic-lowering %s | FileCheck -check-prefixes=OPT,MAX1024 %s
4+
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=pre-isel-intrinsic-lowering %s | FileCheck -check-prefixes=OPT,MAX1024 %s
45

56
; Check the default explicitly set works
67
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=1024 %s | FileCheck -check-prefixes=OPT,MAX1024 %s
78
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=0 %s | FileCheck -check-prefixes=OPT,ALL %s
9+
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=1024 %s | FileCheck -check-prefixes=OPT,MAX1024 %s
10+
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=pre-isel-intrinsic-lowering -mem-intrinsic-expand-size=0 %s | FileCheck -check-prefixes=OPT,ALL %s
811

912
declare void @llvm.memcpy.p1.p1.i64(ptr addrspace(1) nocapture, ptr addrspace(1) nocapture readonly, i64, i1) #1
1013
declare void @llvm.memcpy.p1.p3.i32(ptr addrspace(1) nocapture, ptr addrspace(3) nocapture readonly, i32, i1) #1

llvm/test/Transforms/PreISelIntrinsicLowering/X86/load-relative.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
; RUN: opt -mtriple=x86_64-pc-linux-gnu -pre-isel-intrinsic-lowering -S -o - %s | FileCheck %s
2+
; RUN: opt -mtriple=x86_64-pc-linux-gnu -passes=pre-isel-intrinsic-lowering -S -o - %s | FileCheck %s
23

34
; CHECK: define ptr @foo32(ptr [[P:%.*]], i32 [[O:%.*]])
45
define ptr @foo32(ptr %p, i32 %o) {

llvm/test/Transforms/PreISelIntrinsicLowering/X86/objc-arc.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
; RUN: opt -mtriple=x86_64-pc-linux-gnu -pre-isel-intrinsic-lowering -S -o - %s | FileCheck %s
2+
; RUN: opt -mtriple=x86_64-pc-linux-gnu -passes=pre-isel-intrinsic-lowering -S -o - %s | FileCheck %s
23

34
; Make sure calls to the objc intrinsics are translated to calls in to the
45
; runtime

0 commit comments

Comments
 (0)