[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bgl-discuss] compile roptimization
I should add that while in Ray's case we couldn't find any of the common
culprits for this (and thus it may very well be a bug), there are other
non-bug reasons that this happens commonly and that you might want to
check. The most common in my experience is programs that accidentally
assume a local scalar or two is automatically initialized to zero. You can
switch on a compiler flag to enforce this and check if it is the problem.
I would also run other standard memory diagnostics, like array bounds
checking, etc. if you haven't already. i also have a few other suggestions
if this doesn't work.
On Thu, 21 Jul 2005, Ray Loy wrote:
>
> > I have a fortran90 program. I found that if I use -O2, -O3 (with
> > -qstrict) optimization when compiling, my program
> > failed to generate the right results.
>
> shan,
>
> back in June i found this bug, which happened with -O vs none.
> reported it to ibm but haven't heard anything back yet.
> it is hard to track these down....
>
>
> ray
>
>
> -----excerpt from bug report----
> >
> > essentially, the generated code computes min(4,8)-1 to be 7.
> >
> >
> > the value ie is computed incorrectly on this line:
> >
> > ie = min(index(i90_now%this_line,BLK), &
> > index(i90_now%this_line,EOL)) - 1
> >
> > but is correct when it is done this way, breaking out
> > the subexpressions:
> >
> > myBLK=index(i90_now%this_line,BLK) ! rml
> > myEOL=index(i90_now%this_line,EOL) ! rml
> > myie= min(myBLK,myEOL) -1 ! rml
> >
> >
> > the problem will go away if you remove -O on the compile.
> >
>
> - --------------------------------------------------------------------
> To add or remove yourself from this mailing list, use the 'notifyme'
> command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.
>
>
- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.