[Bug optimization/12340] [3.3 regression] loop unroller + gcse produces wrong code
rguenth at tat dot physik dot uni-tuebingen dot de
gcc-bugzilla@gcc.gnu.org
Mon Sep 22 08:17:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12340
------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de 2003-09-22 08:01 -------
Subject: Re: [3.3 regression] loop unroller + gcse
produces wrong code
On 22 Sep 2003, ebotcazou at gcc dot gnu dot org wrote:
> ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2003-09-22 06:03 -------
> Any chance that you could shrink down the 50000-line testcase? Trying to do it
> without knowing the code is a bit painful.
The testcase is
#include "Domain/Interval.h"
#include "Engine/BrickEngine.h"
#include "../../Engine/BrickBase.cpp"
#include "../../Utilities/Unique.cmpl.cpp"
namespace Pooma {
int myContext_g;
}
typedef Engine<1,double,Brick> Array_t;
int main(int argc, char *argv[])
{
Interval<1> I(10);
Array_t A(I);
for (int i = 0; i < 10; i++)
A(Loc<1>(i)) = 2.0 + i - i*i;
return 0;
}
unfortunately, this pulls in nearly all of the POOMA library (although
most of it is unused, of course). Sadly delta is not very good/fast at
reducing C++ testcases. Maybe the tree-ssa pretty-printer can output
only the used parts? Or maybe you can assist me in reducing such C++
testcases (aka stripping unused parts of the code).
After all, the assembly file of the testcase is only 11k big and it seems
to be a problem with the destructor handling? But I can't see anything
obvious either.
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
More information about the Gcc-bugs
mailing list