This is the mail archive of the gcc-patches@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] |
On 6/16/10 8:57 PM, Paolo Bonzini wrote:Well, within certain limits, a speed regression would be acceptable. But what is more important is the correctness issue.+ that are calculated along every path from BB. + E.g., it will not try to optimize the following case: + + 2 + | \ + 3* | + | / + 4 + / \ + 5* 6 + + ;; "*" marks basic blocks that calculate same expression + ;; Ideally, all calculation would be moved to block 2.
No, this pessimizes the path 2->4->6.
Code hoisting is used only when optimizing for size, otherwise PRE is used. Maybe I'm missing something, but /speed/ regression of the path 2->4->6 is acceptable as long as overall code size goes down.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |