I don't understand why an "align" pseudo is not needed in IA64
Sun

On Tue, May 24, 2011 at 4:49 PM, Wu Yongchong <wuyongch...@gmail.com> wrote:
> Here is the patch,
> 1. the first one used #if defined to remove some code that specific in
> X8664 and loogson, not in IA64.
> 2. the second one , in IA64, _wn_to_val_num_map->Get_val((POINTER)
> wn_cond) return a *void type, it must convert to a type INTPTR before
> convert to IF_CMP_VAL(actually UINT32)
>
> Index: osprey/be/cg/cgemit.cxx
> ===================================================================
> --- osprey/be/cg/cgemit.cxx     (revision 3624)
> +++ osprey/be/cg/cgemit.cxx     (working copy)
> @@ -4864,8 +4864,10 @@
>                // alt-entry
>                if ( Assembly ) {
>                        fprintf ( Asm_File, "\t%s\t%s\n", AS_AENT,
> ST_name(entry_sym)); // KEY
> +#if defined(TARG_X8664) || defined(TARG_LOONGSON)
>                        if (CG_p2align != 0)
>                                fputs ("\t.p2align 5,,\n", Asm_File);
> +#endif
>                        Print_Label (Asm_File, entry_sym, 0 );
>                }
>                EMT_Put_Elf_Symbol (entry_sym);
> Index: osprey/be/opt/opt_proactive.cxx
> ===================================================================
> --- osprey/be/opt/opt_proactive.cxx     (revision 3624)
> +++ osprey/be/opt/opt_proactive.cxx     (working copy)
> @@ -10357,7 +10357,7 @@
>   UINT32 key;
>   STACK<WN *> * stk;
>
> -  IF_CMP_VAL ret_val = (IF_CMP_VAL)
> _wn_to_val_num_map->Get_val((POINTER) wn_cond);
> +  IF_CMP_VAL ret_val = (IF_CMP_VAL)(INTPTR)
> _wn_to_val_num_map->Get_val((POINTER) wn_cond);
>   if (ret_val) {
>     *val = ((*val) << MAX_IF_CMP_BITS) + ret_val;
>     return;
> @@ -10373,7 +10373,7 @@
>       for (int i = 0; i < stk->Elements(); i++) {
>        WN * wn_iter = stk->Top_nth(i);
>        if ((wn_cond == wn_iter) || (WN_Simp_Compare_Trees(wn_cond,
> wn_iter) == 0)) {
> -         ret_val = (IF_CMP_VAL) _wn_to_val_num_map->Get_val((POINTER) 
> wn_iter);
> +         ret_val = (IF_CMP_VAL)(INTPTR)
> _wn_to_val_num_map->Get_val((POINTER) wn_iter);
>          break;
>        }
>       }
>
>
> --
> yongchong
>
> ------------------------------------------------------------------------------
> vRanger cuts backup time in half-while increasing security.
> With the market-leading solution for virtual backup and recovery,
> you get blazing-fast, flexible, and affordable data protection.
> Download your free trial now.
> http://p.sf.net/sfu/quest-d2dcopy1
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>

------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to