Discussion:
[Open64-devel] how open64 implement expression reassociation which is used to exploit redundant for PRE
汪胜
2014-06-24 11:31:54 UTC
Permalink
Hi, all:
I'm curiouse with reassociation translation in open64:

following test case need "Expression reassociation" to export hidden redundant in expressions;

a = x * m * y;
b = x * n * y;

so, which source file in open64 implementes the expression reassociation?

Do you know any classic paper about "expression reassociation" before PRE ? I only know "effective partial redundant eliminate -- briggs"

Thanks;
Sun Chan
2014-06-29 07:20:34 UTC
Permalink
Since no one attempted, I will give my 2 cents. I haven't been doing
optimization for awhile now, so I could be totally off and what I
suggested have never been tried out.
Note that in a lot of cases (reassoc wrt distribution aside),
equivalent expressions (reassociatable) are by definition follow
reassociation rule (forget IEEE rule for the moment). Note that etable
will hash expressions. If the hash function also follows reassociation
rule, there those expression should map into the same entry, thus,
they are considered the same. Your example should be one case that
will fit. Of course, changing the hash function is something that
needs more tuning in terms of compile time, correctness (expose hidden
bugs)...
It will be interesting if this works and if it does, one can
generalize this into "shape" (or higher level) optimization, or PRE of
higher level abstraction.
Sun
Post by 汪胜
following test case need "Expression reassociation" to export hidden
redundant in expressions;
a = x * m * y;
b = x * n * y;
so, which source file in open64 implementes the expression reassociation?
Do you know any classic paper about "expression reassociation" before PRE ?
I only know "effective partial redundant eliminate -- briggs"
Thanks;
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
Jian-Xin Lai
2014-07-01 08:00:38 UTC
Permalink
The simplifier (common/com/wn_simp*) will do some re-assoc. A new re-assoc
phase in WOPT can be found at be/opt/opt_reasso.*.
Post by 汪胜
following test case need "Expression reassociation" to export hidden
redundant in expressions;
a = x * m * y;
b = x * n * y;
so, which source file in open64 implementes the expression reassociation?
Do you know any classic paper about "expression reassociation" before PRE
? I only know "effective partial redundant eliminate -- briggs"
Thanks;
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
Regards,
Lai Jian-Xin
Loading...