Hi All: I read codes in bb-reorder pass. normally it's fine to take the most probable basic block as the downward bb. unfortunately, the processor I'm working on is a little different. It has no pipeline stall when branches are taken, but does introduce stall when they are not taken.
take an example code like: -------------- statement 0; if likely(condition) statement 1; else statement 2; return; gcc may generate : --------------- statement 0; if !(condition) branch to label x; statement 1; return; label x: statement 2; return; Which is less effective on my processor. I am wondering whether possible to modify codes in bb-reorder making gcc to take the less probable basic block as the downward bb? So any tips? Thanks in advance. -- Best Regards.