[Bug tree-optimization/66163] [6 Regression] Not working Firefox built with LTO
law at redhat dot com
gcc-bugzilla@gcc.gnu.org
Tue May 19 06:47:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66163
--- Comment #9 from Jeffrey A. Law <law at redhat dot com> ---
We don't thread because we don't lower UBSAN_NULL to actual conditionals until
the end of the gimple/ssa pipeline. ie, in DOM2 we have:
int test::foo(int&) (struct test * const this, int & b)
{
int _5;
int _6;
;; basic block 2, loop depth 0, count 0, freq 10000, maybe hot
;; prev block 0, next block 3, flags: (NEW, REACHABLE)
;; pred: ENTRY [100.0%] (FALLTHRU,EXECUTABLE)
if (this_2(D) != 0B)
goto <bb 3>;
else
goto <bb 4>;
;; succ: 3 [78.3%] (TRUE_VALUE,EXECUTABLE)
;; 4 [21.6%] (FALSE_VALUE,EXECUTABLE)
;; basic block 3, loop depth 0, count 0, freq 7835, maybe hot
;; prev block 2, next block 4, flags: (NEW, REACHABLE)
;; pred: 2 [78.3%] (TRUE_VALUE,EXECUTABLE)
UBSAN_NULL (this_2(D), 3B, 0);
_5 = this_2(D)->a;
;; succ: 4 [100.0%] (FALLTHRU,EXECUTABLE)
;; basic block 4, loop depth 0, count 0, freq 10000, maybe hot
;; prev block 3, next block 1, flags: (NEW, REACHABLE)
;; pred: 2 [21.6%] (FALSE_VALUE,EXECUTABLE)
;; 3 [100.0%] (FALLTHRU,EXECUTABLE)
# _6 = PHI <1(2), _5(3)>
return _6;
;; succ: EXIT [100.0%] (EXECUTABLE)
}
More information about the Gcc-bugs
mailing list