[PATCH] D59688: [X86] Make post-ra scheduling macrofusion-aware.

Andrea Di Biagio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 22 04:58:40 PDT 2019


andreadb added a comment.

Nice patch Clement!

I always wondered why on x86 we only enabled that mutator in the pre-ra scheduler.
In the past, I remember I did some quick experiments with enabling that mutator in the post-RA scheduler. I must admit that I wasn't particularly lucky wih the experiments (i.e. I couldn't find significant/promising improvements). But then - again - those were just quick experiments, and I didn't try it on many codebases.

If you think you can share some numbers then that would be great.

On a slightly different topic: I often wondered whether we - at some point - we should start using the PostMIScheduler for X86.

Did you experiment with it?
The API is basically the same; mutators are run on the DAG as part of a dag-postprocessing step. You can try to enable that mutator on that pass too.
To enable PostMIScheduler however you have to `substitutePass(&PostRASchedulerID, &PostMachineSchedulerID)` in the `X86PassConfig` (similar to how AArch64 does it).
It would be interesting to see which one gives us the best codegen in your experiments.. (just curious).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59688/new/

https://reviews.llvm.org/D59688





More information about the llvm-commits mailing list