Inner product-like code eats memory
|
|
Bugzilla Link |
481 |
Created on |
Apr 15, 2009 19:22 |
Version |
1.00beta |
OS |
Linux |
Architecture |
PC |
Attachments |
audwlf.sac, crud.sac
|
Extended Description
Created an attachment (id=511)
source code to reproduce failure
If the attachment is compiled this way:
sac2c crud.sac -O3 -nowlur -v1 -DBUG -DBUG2
It eats increasing amounts of memory, until it completes, or
destroys the known universe. Note that replacing the eqCCB with
"x==y" circumvents the problem, but doesn't repair it.
I also see this at -b11:
xel = with {
([:int] <= _pinl_1547_iv (IDXS:_wlidx_5196_xel) < [:int])
{
/* empty */
} : _pinl_1549__flat_63 ;
} :
I would expect that some part of optimizer would replace the WL
by a simple assign of ...flat_63, but perhaps I've managed to bust that without
knowing it.
There is definitely something funny happening with types, because
eqCCB and some condfns have arguments of type [*].