gcc.c-torture/execute/990208-1.c test failure
Bug #612405 reported by
Michael Hope
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro GCC |
Fix Released
|
Low
|
Yao Qi | ||
Linaro GCC Tracking |
Fix Released
|
Undecided
|
Yao Qi |
Bug Description
Seen in gcc-linaro-
FAIL: gcc.c-torture/
See
http://
Related branches
lp:~yao-codesourcery/gcc-linaro/lp-612405
- Andrew Stubbs (community): Approve
-
Diff: 31 lines (+9/-2)2 files modifiedChangeLog.linaro (+7/-0)
gcc/testsuite/gcc.c-torture/execute/990208-1.x (+2/-2)
tags: | added: testsuite |
Changed in gcc-linaro: | |
assignee: | nobody → Yao Qi (yao-codesourcery) |
Changed in gcc-linaro: | |
status: | New → Fix Committed |
Changed in gcc-linaro: | |
milestone: | none → 4.4-2010.08-0 |
Changed in gcc-linaro: | |
importance: | Undecided → Low |
Changed in gcc-linaro: | |
status: | Fix Committed → Fix Released |
Changed in gcc-linaro-tracking: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Looks like doit is *not* inlined properly. Root cause is here,
congfig/ arm/arm. c:arm_optimizat ion_options( int level, int size ATTRIBUTE_UNUSED) param_value ("max-inline- insns-single" , 1); param_value ("max-inline- insns-auto" , 1);
...
if (size)
{
/* In Thumb mode the function call code size overhead is typically very
small, and narrow branch instructions have very limited range.
Inlining even medium sized functions tends to bloat the caller and
require the use of long branch instructions. On average the long
branches cost more than eliminating the function call overhead saves,
so we use extremely restrictive automatic inlining heuristics. In ARM
mode the results are fairly neutral, probably due to better constant
pool placement. */
set_
set_
......
}
Remove two 'set_param_value', problem goes away.