This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/69291] [6 Regression] wrong code at -O1 for ruby-2.3.0/regcomp.c:985:compile_length_quantifier_node()


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69291

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 37651
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37651&action=edit
preprocessed source

Build with -m32 -mtune=generic -march=i586 -O [-fPIC]

-fdisable-rtl-ce2 (if-conversion after combine) fixes it.

IF-THEN-ELSE-JOIN block found, pass 1, test 63, then 64, else 65, join 128
scanning new insn with uid = 842.
scanning new insn with uid = 843.
scanning new insn with uid = 844.
scanning new insn with uid = 845.
scanning new insn with uid = 846.
scanning new insn with uid = 847.
deleting insn with uid = 363.
deleting block 65
Removing jump 354.
deleting insn with uid = 354.
deleting insn with uid = 357.
deleting block 64
Conversion succeeded on pass 1.

IF-CASE-2 found, start 88, else 90
verify found no changes in insn with uid = 471.
deleting block 90
Conversion succeeded on pass 1.

Disabling the IF-THEN-ELSE-JOIN transform above fixes the issue.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]