llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.87k stars 11.92k forks source link

Should recent Apple CPUs use the new model instead of `CycloneModel`? #98729

Open DianQK opened 3 months ago

DianQK commented 3 months ago

We recently discovered a performance issue with the apple m1 series in https://github.com/rust-lang/rust/issues/126937#issuecomment-2226834122. I believe this is due to EarlyIfConversion using an outdated mispredict penalty. The mispredict penalty from apple-a7 to apple-m4 uses CycloneModel's definition of 16, which I assume is an outdated value?

cc @fhahn @TNorthover

llvmbot commented 3 months ago

@llvm/issue-subscribers-backend-aarch64

Author: DianQK (DianQK)

We recently discovered a performance issue with the apple m1 series in https://github.com/rust-lang/rust/issues/126937#issuecomment-2226834122. I believe this is due to EarlyIfConversion using an outdated mispredict penalty. The mispredict penalty from apple-a7 to apple-m4 uses `CycloneModel`'s definition of 16, which I assume is an outdated value? cc @fhahn @TNorthover
GuillaumePressiat commented 2 weeks ago

Thank you @DianQK.

Has anybody take a look on this?

You adressed it to: @fhahn @TNorthover (mention cc); in case it can helps.

Thanks