https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97456
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Ever confirmed|0 |1 Summary|An incorrect optimization |[10/11 Regression] An |causes a function to always |incorrect optimization |return the same value when |causes a function to always |using -flto |return the same value when | |using -flto Last reconfirmed| |2020-10-16 Target Milestone|--- |10.3 Component|c++ |ipa Status|UNCONFIRMED |NEW CC| |jamborm at gcc dot gnu.org, | |marxin at gcc dot gnu.org Priority|P3 |P2 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed with -fwhole-program -O3 IPA SRA messes things up here cloning wrong and producing the strange wrong.isra (floatD.41 ISRA.85D.75004) { complex floatD.45 c$_M_valueD.75007; floatD.41 & posD.75005; floatD.41 & posD.75006; floatD.41 _1; complex floatD.45 _2; complex floatD.45 _3; floatD.41 _4; floatD.41 _5; floatD.41 _6; doubleD.42 _7; floatD.41 _8; <bb 6> [local count: 1073741824]: <bb 2> [local count: 1073741824]: _1 = ISRA.85_10(D); eventually mixing up param/replacement here?