Pooma where and peephole optimization in CW
John Hall
jhh at caverns.com
Sat May 26 22:41:33 UTC 2001
Gang:
I have been trying to get our code (Tecolote 4.0/Pooma R2) to compile
optimized under Metrowerk's Codewarrior off and on for quite some
time. The problem always seemed to be in files which contained a
Pooma where statement involving a Field<MT,double,ET>. Interestingly,
I could compile code using where statements of type
Field<MT,Vector<Dim,double>,ET>.
Anyhow, through sheer perseverence I have been able to determine that
it is the peephole optimization which is causing the problem (an
internal compiler error). When I turn this option off, I can turn
every other optimization option on to its highest value and get it to
work. Since Metrowerk's pays more attention to you guys than to me, I
thought someone might like to code something like:
// Make a CompressibleBrick-Engine-based field.
Field<UniformRectilinear<2>, double, CompressibleBrick>
fc(cell, layout1, origin, spacings);
// Test the where statement for a scalar field
fc = -1.0;
fc = where(fc > 1.0e-16, fc, 0.0);
std::cout << fc << std::endl;
and turn the peephole optimizer on and see if they get the same problem.
Error : internal compiler error: File: 'Operands.c' Line: 814
BasicTest1.cpp line 146 }
Thanks,
John
--
More information about the pooma-dev
mailing list