On Mon, Sep 18, 2023 at 9:17 AM Hanke Zhang via Gcc <gcc@gcc.gnu.org> wrote:
>
> Hi, I am currently developing a new pass in the late_ipa_passes phase,
> located behind the pass_ipa_pta and in front of the
> pass_omp_simd_clone. I now hope that after the pass I developed, the
> code can be vectorized, that is, the code that can be vectorized
> during the pass_omp_simd_clone.
>
> But not yet, I'm guessing that maybe it's because I added some dead
> code during the pass I developed, so I want to be followed by a DCE
> pass right after my pass, hoping that this will allow
> pass_omp_simd_clone to vectorize the code after my pass.
>
> But I've found that adding NEXT_PASS(pass_dce) directly after my pass
> results in a runtime error, so I would like to ask if there is any
> good way to get pass_dce to work in the late_ipa_passes phase?

You could try doing

  NEXT_PASS (pass_your_ipa_pass)
  PUSH_INSERT_PASSES_WITHIN (pass_your_ipa_pass)
    NEXT_PASS (pass_dce);
  POP_INSERT_PASES ()
  NEXT_PASS (pass_omp_simd_clone)


> Hanke Zhang.

Reply via email to