-
Notifications
You must be signed in to change notification settings - Fork 34
Bump llvm - transform.apply_registered_pass options params #1055
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
CI now fails with
for the following for four tests:
However, on the compile server all the tests pass. @shahidact , @arun-thmn , @adam-smnk , @rengolin - any clue what the issue might be? |
@rolfmorel The other two tests skipped (not passed) on no amx (compile node) because it's target is AMX machine. On the login node spr it get invoked and on compile node no amx it get skipped. |
Okay. Removed the duplicated tests. The following two tests still fail on EMR (on the compile node and login node they are skipped) with the message
Looking at the IR the failure to convert/legalize the %145 = builtin.unrealized_conversion_cast %144 : !llvm.x86_amx to !amx.tile<16x16xf32>
%146 = llvm.mul %101, %93 : i64
%147 = llvm.add %146, %95 : i64
%148 = llvm.getelementptr %115[%147] : (!llvm.ptr, i64) -> !llvm.ptr, f32
%149 = llvm.call_intrinsic "llvm.x86.tileloadd64.internal"(%91, %90, %148, %89) : (i16, i16, !llvm.ptr, i64) -> !llvm.x86_amx
%150 = builtin.unrealized_conversion_cast %149 : !llvm.x86_amx to !amx.tile<16x16xf32>
%151 = llvm.mul %101, %93 : i64
%152 = llvm.add %151, %101 : i64
%153 = llvm.getelementptr %115[%152] : (!llvm.ptr, i64) -> !llvm.ptr, f32
%154 = llvm.call_intrinsic "llvm.x86.tileloadd64.internal"(%91, %90, %153, %89) : (i16, i16, !llvm.ptr, i64) -> !llvm.x86_amx
%155 = builtin.unrealized_conversion_cast %154 : !llvm.x86_amx to !amx.tile<16x16xf32>
cf.br ^bb9(%96, %140, %145, %150, %155 : index, !amx.tile<16x16xf32>, !amx.tile<16x16xf32>, !amx.tile<16x16xf32>, !amx.tile<16x16xf32>)
^bb9(%156: index, %157: !amx.tile<16x16xf32>, %158: !amx.tile<16x16xf32>, %159: !amx.tile<16x16xf32>, %160: !amx.tile<16x16xf32>): // 2 preds: ^bb8, ^bb10
%161 = builtin.unrealized_conversion_cast %156 : index to i64
%162 = llvm.icmp "slt" %161, %99 : i64
llvm.cond_br %162, ^bb10, ^bb11
^bb10: // pred: ^bb9
%163 = builtin.unrealized_conversion_cast %160 : !amx.tile<16x16xf32> to !llvm.x86_amx
%164 = builtin.unrealized_conversion_cast %159 : !amx.tile<16x16xf32> to !llvm.x86_amx
%165 = builtin.unrealized_conversion_cast %158 : !amx.tile<16x16xf32> to !llvm.x86_amx
%166 = builtin.unrealized_conversion_cast %157 : !amx.tile<16x16xf32> to !llvm.x86_amx @adam-smnk, any ideas? |
It looks like type conversion for within non-amx ops is missing after I axed |
This should be fixed after llvm/llvm-project#143871 |
Indeed. Best to re-bump now than change the tests and bump again later. |
Thanks for the quick fix upstream, @adam-smnk ! |
[MLIR] Add bufferization state to
getBufferType
andresolveConflicts
interface methods llvm/llvm-project#141466 & [MLIR] Add bufferization state class to OneShotBufferization pass llvm/llvm-project#141019BufferizationState &state
tobufferize
andgetBuffer
[MLIR][Transform] apply_registered_pass op's options as a dict llvm/llvm-project#143159 & [MLIR][Transform] Allow ApplyRegisteredPassOp to take options as a param llvm/llvm-project#142683 & [MLIR][Transform] apply_registered_op fixes: arg order & python options auto-conversion llvm/llvm-project#143779
transform.apply_registered_pass
and its Python-bindings[mlir][scf] Return
replacements
explicitly inSCFTilingResult
. llvm/llvm-project#143217tilingResult->mergeResult.replacements
->tilingResult->replacements
[mlir][amx] Simplify intrinsic generation llvm/llvm-project#140559 & [mlir][amx] Restore conversion interface for AMX llvm/llvm-project#143871
amx.
ops tollvm.call_intrinsic
s & fix which enables conversion again.