Discussion:
[Open64-devel] WHIRL Extension
Dounia Khaldi
2014-03-05 16:16:22 UTC
Permalink
Hi all,

We work in the HPCtools group on extending WHIRL to support the CAF
language. I would like to know if there is a file that contains the
abstract syntax of WHIRL and its structure that can be easily and
cleanly modified in order to add new operators without having to go in
the labyrinth of cxx files.

Thanks in advance for any doc on how to modify WHIRL.


--
Dounia KHALDI
Postdoctoral Fellow
University of Houston
Department of Computer Science
515 Philip G. Hoffman Hall
Houston, TX 77204-3010
Kun Ling
2014-03-06 00:22:47 UTC
Permalink
Hi Dounia,

The following file maybe helpful to you.
1. common/com/opcode_gen_core.h, opcode_gen_core.cxx.

To add a new operator, and the allowed data type(MTYPE) for the
operator. Please look into the following code:
1. opcode_gen_core.h : the enum OPERATOR type
2. opcode_gen_core.h: the enum OPCODE type
3. opcode_gen_core.cxx: the OPERATOR_info array.

After extending the above files, you may also need to:

1. Find out at which part/phase, this new operator will be generate.
And adding the code. If you could provide more information, other guys in
this list may give you detailed help.
2. For How to expand it to instructions. please refer to
be/cg/whirl2ops.cxx, and be/cg/YOURTARGET/expand.cxx .


Open64 have a rich support of assertion, so you are suggested to
adjust other files according to the assertion fail information after all
the above modifications.



Regards,
Kun Ling
Post by Dounia Khaldi
Hi all,
We work in the HPCtools group on extending WHIRL to support the CAF
language. I would like to know if there is a file that contains the
abstract syntax of WHIRL and its structure that can be easily and
cleanly modified in order to add new operators without having to go in
the labyrinth of cxx files.
Thanks in advance for any doc on how to modify WHIRL.
--
Dounia KHALDI
Postdoctoral Fellow
University of Houston
Department of Computer Science
515 Philip G. Hoffman Hall
Houston, TX 77204-3010
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to
Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and
the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
http://www.lingcc.com
Sun Chan
2014-03-06 23:42:17 UTC
Permalink
      
Post by Kun Ling
Hi Dounia,
The following file maybe helpful to you.
1. common/com/opcode_gen_core.h, opcode_gen_core.cxx.
To add a new operator, and the allowed data type(MTYPE) for the
1. opcode_gen_core.h : the enum OPERATOR type
2. opcode_gen_core.h: the enum OPCODE type
3. opcode_gen_core.cxx: the OPERATOR_info array.
1. Find out at which part/phase, this new operator will be generate.
And adding the code. If you could provide more information, other guys in
this list may give you detailed help.
2. For How to expand it to instructions. please refer to
be/cg/whirl2ops.cxx, and be/cg/YOURTARGET/expand.cxx .
Open64 have a rich support of assertion, so you are suggested to
adjust other files according to the assertion fail information after all
the above modifications.
Regards,
Kun Ling
Post by Dounia Khaldi
Hi all,
We work in the HPCtools group on extending WHIRL to support the CAF
language. I would like to know if there is a file that contains the
abstract syntax of WHIRL and its structure that can be easily and
cleanly modified in order to add new operators without having to go in
the labyrinth of cxx files.
Thanks in advance for any doc on how to modify WHIRL.
--
Dounia KHALDI
Postdoctoral Fellow
University of Houston
Department of Computer Science
515 Philip G. Hoffman Hall
Houston, TX 77204-3010
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to
Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and
the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
http://www.lingcc.com
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to
Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and
the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
Continue reading on narkive:
Loading...