Skip to content

Commit 8acb1ca

Browse files
igorban-inteligcbot
authored andcommitted
Add missed llvm-14 pipeline passes
.
1 parent 603021d commit 8acb1ca

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

IGC/VectorCompiler/lib/GenXCodeGen/GenXTargetMachine.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ SPDX-License-Identifier: MIT
6868
#include "llvm/Support/CommandLine.h"
6969
#include "llvm/Transforms/IPO.h"
7070
#include "llvm/Transforms/IPO/AlwaysInliner.h"
71+
#include "llvm/Transforms/IPO/Annotation2Metadata.h"
72+
#include "llvm/Transforms/IPO/ForceFunctionAttrs.h"
7173
#include "llvm/Transforms/IPO/GlobalDCE.h"
74+
#include "llvm/Transforms/IPO/InferFunctionAttrs.h"
7275
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
7376
#include "llvm/Transforms/InstCombine/InstCombine.h"
7477
#include "llvm/Transforms/Scalar.h"
@@ -83,6 +86,7 @@ SPDX-License-Identifier: MIT
8386
#include "llvm/Transforms/Scalar/LoopIdiomRecognize.h"
8487
#include "llvm/Transforms/Scalar/LoopRotation.h"
8588
#include "llvm/Transforms/Scalar/LoopUnrollPass.h"
89+
#include "llvm/Transforms/Scalar/LowerExpectIntrinsic.h"
8690
#include "llvm/Transforms/Scalar/Reassociate.h"
8791
#include "llvm/Transforms/Scalar/SROA.h"
8892
#include "llvm/Transforms/Scalar/SimplifyCFG.h"
@@ -1073,6 +1077,16 @@ void GenXTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
10731077
// Lower aggr copies.
10741078
PM.addPass(createModuleToFunctionPassAdaptor(GenXLowerAggrCopiesPass()));
10751079

1080+
// Standard set of passes called in llvm-14
1081+
PM.addPass(createModuleToFunctionPassAdaptor(LowerExpectIntrinsicPass()));
1082+
PM.addPass(createModuleToFunctionPassAdaptor(SimplifyCFGPass()));
1083+
PM.addPass(
1084+
createModuleToFunctionPassAdaptor(SROAPass(SROAOptions::ModifyCFG)));
1085+
PM.addPass(createModuleToFunctionPassAdaptor(EarlyCSEPass(true)));
1086+
PM.addPass(Annotation2MetadataPass());
1087+
PM.addPass(ForceFunctionAttrsPass());
1088+
PM.addPass(InferFunctionAttrsPass());
1089+
10761090
// Packetize.
10771091
PM.addPass(GenXLegalizeGVLoadUsesPass());
10781092
#ifndef NDEBUG
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
;=========================== begin_copyright_notice ============================
2+
;
3+
; Copyright (C) 2025 Intel Corporation
4+
;
5+
; SPDX-License-Identifier: MIT
6+
;
7+
;============================ end_copyright_notice =============================
8+
9+
; REQUIRES: regkeys, pvc-supported, llvm-16-plus
10+
; RUN: llvm-as %s -o %t.bc
11+
; RUN: ocloc -device pvc -llvm_input -options "-vc-codegen -igc_opts 'ShaderDumpEnable=1, PrintToConsole=1'" -file %t.bc 2>&1 | FileCheck %s
12+
13+
; CHECK: _after_ir_adaptors.ll
14+
; CHECK: spir_func i32 @_Z18__spirv_ocl_printfPciiiiii
15+
16+
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"
17+
target triple = "spir64-unknown-unknown"
18+
19+
define spir_kernel void @foo() {
20+
entry:
21+
store <4 x i32>* null, <4 x i32>** null, align 4294967296
22+
%call.i18 = call spir_func i32 @_Z18__spirv_ocl_printfPciiiiii(i8* null)
23+
ret void
24+
}
25+
26+
declare spir_func i32 @_Z18__spirv_ocl_printfPciiiiii(i8*)

IGC/ocloc_tests/lit.cfg.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ def get_available_devices(tool_path, ld_path):
8585
config.available_features.add('spirv-as')
8686
llvm_config.add_tool_substitutions([ToolSubst('spirv-as', unresolved='fatal')], tool_dirs)
8787

88+
if int(config.llvm_version_major) >= 16:
89+
config.available_features.add('llvm-16-plus')
90+
8891
if config.llvm_spirv_enabled:
8992
config.available_features.add('llvm-spirv')
9093
llvm_config.add_tool_substitutions([ToolSubst('llvm-spirv', unresolved='fatal')], tool_dirs)

0 commit comments

Comments
 (0)