Problem about inline pass

It seems that when call op has a affine.for or scf.for as its parent op, the inline pass no longer has its effect.
like this:

func @heat_3d_iteration(%arg0: memref<200x200x200xf64>, %arg1: memref<200x200x200xf64>){
    %c0 = constant 0 : index
    %c1000 = constant 1000 : index
    %c1 = constant 1 : index
    scf.for %arg2 = %c0 to %c1000 step %c1 {
      call @heat_3d(%arg0, %arg1) : (memref<200x200x200xf64>, memref<200x200x200xf64>) -> ()
    }
    return
  }

Is that right? And is there any other way to help me achieve this goal?

It’s hard to say without looking at the body of the function you are trying to inline, @heat_3d here. You can also see the debug messages by running mlir-opt your-file.mlir -inline -debug-only=inliner.