Thanks a lot for the help.
Also, thanks for directing me towards the slides on *points-to* analysis.
They are really helpful

Sincerely,
Siddhartha Jana
University of Houston



On 9 August 2012 23:08, <open64-devel-requ...@lists.sourceforge.net> wrote:

> Send Open64-devel mailing list submissions to
>         open64-devel@lists.sourceforge.net
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.sourceforge.net/lists/listinfo/open64-devel
> or, via email, send a message with subject or body 'help' to
>         open64-devel-requ...@lists.sourceforge.net
>
> You can reach the person managing the list at
>         open64-devel-ow...@lists.sourceforge.net
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Open64-devel digest..."
>
>
> Today's Topics:
>
>    1. Re: IPA + Aliasing + Nystrom Alias Analyzer +     debugging IPA
>       (Yulei Sui)
>    2. r4002 - in trunk/osprey: be/com common/com (s...@open64.net)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 10 Aug 2012 12:09:39 +1000
> From: Yulei Sui <rocky...@gmail.com>
> Subject: Re: [Open64-devel] IPA + Aliasing + Nystrom Alias Analyzer +
>         debugging IPA
> To: open64-devel@lists.sourceforge.net
> Message-ID:
>         <
> cabj2m9_zforie8iddncucnyxd7yhuq7a8dnhnslwy+a4xtz...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> >
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Thu, 9 Aug 2012 13:36:03 -0400
> > From: Siddhartha Jana <siddharthajan...@gmail.com>
> > Subject: [Open64-devel] IPA + Aliasing + Nystrom Alias Analyzer +
> >         debugging       IPA
> > To: open64-devel@lists.sourceforge.net
> > Message-ID:
> >         <CAPkf6e3r65KXLDV7AJbRGSYSqjaoLNs5N=mFH_8Xq1Zs=
> > j_...@mail.gmail.com>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > Hello,
>
>
> > Hi,
> > I am a beginner at Open64 development. I needed some help on the
> following:
> >
> > My goal:
> > I am trying to access the inter-procedural alias analysis information
> > within IPA,
> > immediately after the completion of the inlining analysis.
> >
> > The current version of alias analysis in IPA is performed before
> inlining,
> so that it could have more control over the procedure size, especially for
> bottom up traversal of call graph. Please see this doc for more
> information:
> http://dynopt.org/open64/slides/8_Ravindran.ppt
>
> These are my observations and queries:
> >
> > 1. The Nystrom Alias classification is performed immediately before IPAA,
> > within
> > the function Perform_Interprocedural_Analysis() [in IPA_main.cxx].
> > (this is in alignment with the wiki page on Nystrom Alias Analysis.)
> > Here we use the alias analyzer object to perform the alias analysis using
> > the function
> > solver(). However, in solver, I see that the analysis is NOT
> > context-sensitive
> > (the BOOL contextSensitive remains FALSE) Could someone please explain
> > this?
> >
> > context sensitive analysis of fulcra is still not as scalable as andersen
> analysis for productivity compilers like open64, so this option remains
> open, you could add your own context sensitive algorithm here for research
> purpose.
>
> >
> > 2. Also, is it true that instantiating the Alias_Manager anytime after
> the
> > Inter-procedural analysis will
> > give me access to the alias_analysis information?
> > When I did the following at the end of
> Perform_Interprocedural_Analysis(),
> >       ALIAS_MANAGER* alias_mgr =
> > Create_Alias_Manager(MEM_pu_nz_pool_ptr,body);
> >       Dump_alias_mgr(alias_mgr, body, stdout)
> >       Delete_Alias_Manager (alias_mgr , MEM_pu_nz_pool_ptr);
> > I get the IR, the point-to info and the alias_id info but none
> information
> > beyond alias_id > 2.(so all I get is the preg aliasing information)
> >
> > If you want to use the IPA alias information there are two ways:
> 1)  you could use "PointsTo" directly through constraint graph node(program
> variable).
>
> 2) if you want to attach alias information to each WN, you can use
> "AliasTag" internally supported by Open64. AliasTag is an index for a
> points to set, its points to set is the memory locations the WN access.
> Generating AliasTag for IPA alias information is bit more complex,  Pls
> refer to ipa_preopt.cxx file, it hooks the BE NystromAliasAnalyzer to do
> this job.  In your case, ALIAS_MANAGER can not be created directly
> after Perform_Interprocedural_Analysis(), you have to switch ipa
> CONTEXT, ALIAS_MANAGER have to be created multiple times for each PU.
> Again, you could take a look at ipa_preopt.cxx and
> nystrom_alias_analyzer.cxx to solve your problem.
>
>
> > 3. Also, while debugging (with -ipa and -Wb,-OPT=nystrom) the call
> > to  IPA_NystromAliasAnalyzer::aliasAnalyzer()
> > returns a NULL within Perform_Interprocedural_Analysis() [in
> IPA_main.cxx].
> > Is there a previous point where the ALIAS_MANAGER is called to
> instantiate
> > the NystromAliasAnalyzer class?
> >
> The quickest option for debugging IPA alias, like this :
> -show -ipa -OPT:alias=field_sensitive
>
> or you could do more for tracing the detailed debug information, like this:
> -show -ipa -OPT:alias=field_sensitive -Wj,-tt24:0x1
>
> BTW:
> 1) -Wb is used for debugging BE info, like NystromAliasAnalyzer.
> 2) You should refer to version 5.0 or later, "-OPT=nystrom" is pretty old
> options.
>
> >
> >
> > I would be highly obliged if someone could point me to the right
> direction.
> >
> > Awaiting reply,
> > Sincerely,
> > Siddhartha Jana
> > University of Houston
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> >
> > ------------------------------
> >
> > Message: 3
> > Date: Thu, 9 Aug 2012 13:56:34 -0400
> > From: Siddhartha Jana <siddharthajan...@gmail.com>
> > Subject: Re: [Open64-devel] IPA + Aliasing + Nystrom Alias Analyzer +
> >         debugging IPA
> > To: open64-devel@lists.sourceforge.net
> > Message-ID:
> >         <CAPkf6e1GG=+-EPcW6f3uLLsPw9cK8b-diVQg7qSS+j5oaMg=
> > u...@mail.gmail.com>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > In discussion  2 below for this code fragment:
> >
> >       ALIAS_MANAGER* alias_mgr =
> > Create_Alias_Manager(MEM_pu_nz_pool_ptr,body);
> >       Dump_alias_mgr(alias_mgr, body, stdout)
> >       Delete_Alias_Manager (alias_mgr , MEM_pu_nz_pool_ptr);
> >
> > I forgot to mention that:
> > body =  WN_func_body(whirl tree of each of the nodes of the
> IPA_CALL_GRAPH
> > )
> >
> > Thanks,
> >
> >
> > On 9 August 2012 13:36, Siddhartha Jana <siddharthajan...@gmail.com>
> > wrote:
> >
> > > Hi,
> > > I am a beginner at Open64 development. I needed some help on the
> > following:
> > >
> > > My goal:
> > > I am trying to access the inter-procedural alias analysis information
> > > within IPA,
> > > immediately after the completion of the inlining analysis.
> > >
> > > These are my observations and queries:
> > >
> > > 1. The Nystrom Alias classification is performed immediately before
> IPAA,
> > > within
> > > the function Perform_Interprocedural_Analysis() [in IPA_main.cxx].
> > > (this is in alignment with the wiki page on Nystrom Alias Analysis.)
> > > Here we use the alias analyzer object to perform the alias analysis
> using
> > > the function
> > > solver(). However, in solver, I see that the analysis is NOT
> > > context-sensitive
> > > (the BOOL contextSensitive remains FALSE) Could someone please explain
> > > this?
> > >
> > >
> > > 2. Also, is it true that instantiating the Alias_Manager anytime after
> > the
> > > Inter-procedural analysis will
> > > give me access to the alias_analysis information?
> > > When I did the following at the end of
> > Perform_Interprocedural_Analysis(),
> > >       ALIAS_MANAGER* alias_mgr =
> > > Create_Alias_Manager(MEM_pu_nz_pool_ptr,body);
> > >       Dump_alias_mgr(alias_mgr, body, stdout)
> > >       Delete_Alias_Manager (alias_mgr , MEM_pu_nz_pool_ptr);
> > > I get the IR, the point-to info and the alias_id info but none
> > information
> > > beyond alias_id > 2.(so all I get is the preg aliasing information)
> > >
> > >
> > > 3. Also, while debugging (with -ipa and -Wb,-OPT=nystrom) the call
> > > to  IPA_NystromAliasAnalyzer::aliasAnalyzer()
> > > returns a NULL within Perform_Interprocedural_Analysis() [in
> > > IPA_main.cxx].
> > > Is there a previous point where the ALIAS_MANAGER is called to
> > instantiate
> > > the NystromAliasAnalyzer class?
> > >
> > >
> > > I would be highly obliged if someone could point me to the right
> > direction.
> > >
> > > Awaiting reply,
> > > Sincerely,
> > > Siddhartha Jana
> > > University of Houston
> > >
> > >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> >
> > ------------------------------
> >
> > Message: 4
> > Date: Thu, 9 Aug 2012 15:28:43 -0400
> > From: Siddhartha Jana <siddharthajan...@gmail.com>
> > Subject: Re: [Open64-devel] IPA + Aliasing + Nystrom Alias Analyzer +
> >         debugging IPA
> > To: open64-devel@lists.sourceforge.net
> > Message-ID:
> >         <
> > capkf6e0k9s1h34sqodpasroxhj6ktfjmh2vcblrjdtpwyqt...@mail.gmail.com>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > Sorry for the multiple emails. For section 3:
> > Also the flag used was -Wb,-OPT:alias=nystrom
> >
> >
> >
> > On 9 August 2012 13:56, Siddhartha Jana <siddharthajan...@gmail.com>
> > wrote:
> >
> > > In discussion  2 below for this code fragment:
> > >
> > >       ALIAS_MANAGER* alias_mgr =
> > > Create_Alias_Manager(MEM_pu_nz_pool_ptr,body);
> > >       Dump_alias_mgr(alias_mgr, body, stdout)
> > >       Delete_Alias_Manager (alias_mgr , MEM_pu_nz_pool_ptr);
> > >
> > > I forgot to mention that:
> > > body =  WN_func_body(whirl tree of each of the nodes of the
> > IPA_CALL_GRAPH
> > > )
> > >
> > > Thanks,
> > >
> > >
> > > On 9 August 2012 13:36, Siddhartha Jana <siddharthajan...@gmail.com
> > >wrote:
> > >
> > >> Hi,
> > >> I am a beginner at Open64 development. I needed some help on the
> > >> following:
> > >>
> > >> My goal:
> > >> I am trying to access the inter-procedural alias analysis information
> > >> within IPA,
> > >> immediately after the completion of the inlining analysis.
> > >>
> > >> These are my observations and queries:
> > >>
> > >> 1. The Nystrom Alias classification is performed immediately before
> > IPAA,
> > >> within
> > >> the function Perform_Interprocedural_Analysis() [in IPA_main.cxx].
> > >> (this is in alignment with the wiki page on Nystrom Alias Analysis.)
> > >> Here we use the alias analyzer object to perform the alias analysis
> > using
> > >> the function
> > >> solver(). However, in solver, I see that the analysis is NOT
> > >> context-sensitive
> > >> (the BOOL contextSensitive remains FALSE) Could someone please explain
> > >> this?
> > >>
> > >>
> > >> 2. Also, is it true that instantiating the Alias_Manager anytime after
> > >> the Inter-procedural analysis will
> > >> give me access to the alias_analysis information?
> > >> When I did the following at the end of
> > Perform_Interprocedural_Analysis(),
> > >>       ALIAS_MANAGER* alias_mgr =
> > >> Create_Alias_Manager(MEM_pu_nz_pool_ptr,body);
> > >>       Dump_alias_mgr(alias_mgr, body, stdout)
> > >>       Delete_Alias_Manager (alias_mgr , MEM_pu_nz_pool_ptr);
> > >> I get the IR, the point-to info and the alias_id info but none
> > >> information beyond alias_id > 2.(so all I get is the preg aliasing
> > >> information)
> > >>
> > >>
> > >> 3. Also, while debugging (with -ipa and -Wb,-OPT=nystrom) the call
> > >> to  IPA_NystromAliasAnalyzer::aliasAnalyzer()
> > >> returns a NULL within Perform_Interprocedural_Analysis() [in
> > >> IPA_main.cxx].
> > >> Is there a previous point where the ALIAS_MANAGER is called to
> > >> instantiate the NystromAliasAnalyzer class?
> > >>
> > >>
> > >> I would be highly obliged if someone could point me to the right
> > >> direction.
> > >>
> > >> Awaiting reply,
> > >> Sincerely,
> > >> Siddhartha Jana
> > >> University of Houston
> > >>
> > >>
> > >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> >
> > ------------------------------
> >
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >
> > ------------------------------
> >
> > _______________________________________________
> > Open64-devel mailing list
> > Open64-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/open64-devel
> >
> >
> > End of Open64-devel Digest, Vol 69, Issue 7
> > *******************************************
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 2
> Date: Thu,  9 Aug 2012 23:08:39 -0400
> From: s...@open64.net
> Subject: [Open64-devel] r4002 - in trunk/osprey: be/com common/com
> To: open64-devel@lists.sourceforge.net
> Message-ID: <20120810030840.04eeab4...@mail.open64.net>
> Content-Type: text/plain; charset=UTF-8
>
> Author: zhuqing
> Date: 2012-08-09 23:08:39 -0400 (Thu, 09 Aug 2012)
> New Revision: 4002
>
> Modified:
>    trunk/osprey/be/com/clone_DST_utils.cxx
>    trunk/osprey/common/com/dwarf_DST_producer.cxx
>    trunk/osprey/common/com/dwarf_DST_producer.h
> Log:
> Fix for undefined symbol error caused by rev 3993.
>
> Static function can't be declared as extern.
>
> Author of this patch: xiaojing-zhang
>
> Code Review:Jian-xin
>
>
> Modified: trunk/osprey/be/com/clone_DST_utils.cxx
> ===================================================================
> --- trunk/osprey/be/com/clone_DST_utils.cxx     2012-08-03 05:50:27 UTC
> (rev 4001)
> +++ trunk/osprey/be/com/clone_DST_utils.cxx     2012-08-10 03:08:39 UTC
> (rev 4002)
> @@ -755,7 +755,6 @@
>          file = DST_FILE_IDX_TO_PTR(callee_idx);
>          file_size = DST_FILE_NAME_size(file);
>          fmod_time = DST_FILE_NAME_modt(file);
> -        extern char *DST_get_dirname(mUINT16 ordinal);
>
>          dirname = DST_get_dirname(DST_FILE_NAME_dir(file));
>          filename =  DST_STR_IDX_TO_PTR(DST_FILE_NAME_name(file));
>
> Modified: trunk/osprey/common/com/dwarf_DST_producer.cxx
> ===================================================================
> --- trunk/osprey/common/com/dwarf_DST_producer.cxx      2012-08-03
> 05:50:27 UTC (rev 4001)
> +++ trunk/osprey/common/com/dwarf_DST_producer.cxx      2012-08-10
> 03:08:39 UTC (rev 4002)
> @@ -587,7 +587,7 @@
>  }
>
>  /* get the include directory name of a given ordinal */
> -static char *
> +char *
>  DST_get_dirname(mUINT16 ordinal)
>  {
>      DST_DIR_IDX d_idx = DST_get_include_dirs();
>
> Modified: trunk/osprey/common/com/dwarf_DST_producer.h
> ===================================================================
> --- trunk/osprey/common/com/dwarf_DST_producer.h        2012-08-03
> 05:50:27 UTC (rev 4001)
> +++ trunk/osprey/common/com/dwarf_DST_producer.h        2012-08-10
> 03:08:39 UTC (rev 4002)
> @@ -702,6 +702,9 @@
>  extern char *
>  DST_get_file(mUINT16 , UINT64 *, UINT64 *, char **);
>
> +extern char *
> +DST_get_dirname(mUINT16);
> +
>  extern void
>  DST_subprogram_concrete_to_abstract(DST_INFO_IDX);
>
>
>
>
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>
> ------------------------------
>
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>
> End of Open64-devel Digest, Vol 69, Issue 8
> *******************************************
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to