Weird type check results in Livermore Loop loop15.sac
|
|
Bugzilla Link |
1063 |
Created on |
Apr 16, 2013 21:43 |
Resolution |
WORKSFORME |
Resolved on |
Apr 17, 2013 20:03 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
loop15.sac, loop15.inp
|
Extended Description
Created an attachment (id=966)
source code to reproduce fault
sac2c -V
sac2c v1.00-beta (Haggis And Apple)
product rev 18092 linux-gnu_x86_64
(Tue Apr 16 14:29:19 EDT 2013 by sac)
I was looking at the poor performance of Livermore Loop loop15.sac, and
noted that the call to loop15() has a wrapper on it, despite the
fact that its arguments are int, int, double[.,.], double[.,.], double[.,.]
and there is only one calling site.
Furthermore, one of the arguments, n, is there only to inhibit LIR.
If I remove that argument, suddenly the arguments are all AKD or AKS.
I'll leave this one for Bodo to look into, as I have no idea
how removing one variable from a function call changes the types
of ALL the arguments...
NB. Note the directory is the for_comparison one!