Linaro GCC 4.5 switch optimization breaks profiled bootstrap
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro GCC |
Won't Fix
|
Medium
|
Andrew Stubbs |
Bug Description
This bug was split off LP #759409 to track one of the failures discussed there:
Michael Hope wrote on 2011-04-13:
Running a profiled bootstrap of gcc-linaro-
http://
../..
../../.
../../.
../../.
../../.
../../.
../../.
../../.
../../.
../../.
../../.
This is while running the all-stagefeedba
Michael Hope wrote on 2011-04-13:
I see similar on ARM:
http://
../../.
../../.
../../.
../../.
Michael Hope wrote on 2011-04-15:
gcc-linaro-
Ulrich Weigand wrote on 2011-04-18:
I can confirm the failure with Linaro GCC 4.5. The problem is an integer division by zero in set_jump_prob, which is a new function added as part of a feature ported from the CodeSourcery tree:
2010-01-25 Tom de Vries <email address hidden>
gcc/
* stmt.c (emit_case_
* stmt.c (struct case_bit_test): Add prob field.
* stmt.c (get_label_prob): New function.
* stmt.c (set_jump_prob): New function.
* stmt.c (emit_case_
* stmt.c (emit_case_
* stmt.c (emit_case_
* stmt.c (expand_case): Add new args to emit_case_bit_tests invocation.
* testsuite/
This particular CodeSourcery backport is not (yet?) in Linaro GCC 4.6, therefore the problem cannot occur there.
Related branches
- Richard Sandiford: Approve
-
Diff: 26 lines (+8/-1)2 files modifiedChangeLog.linaro (+5/-0)
gcc/stmt.c (+3/-1)
Changed in gcc-linaro: | |
status: | Triaged → Fix Committed |
milestone: | none → 4.5-2011.05-0 |
CodeSourcery has a fix for this. I'll get it merged.