This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: var_args for rs6000 backend
- From: Ian Lance Taylor <ian at airs dot com>
- To: "Yao qi" <qiyaobit at hotmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 08 Sep 2005 23:14:29 -0700
- Subject: Re: var_args for rs6000 backend
- References: <BAY12-F18364C95A72608C5B720B6DF980@phx.gbl>
"Yao qi" <qiyaobit@hotmail.com> writes:
> 5672 tree
> 5673 rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p,
> tree *post_ p)
> 5674 {
> .......
> 5733 if (dump_file)
> 5734 {
> 5735 fprintf (dump_file, "TARGET_HARD_FLOAT =
> %d\n",TARGET_HARD_FLOAT);
> 5736 fprintf (dump_file, "TARGET_FPRS =%d\n", TARGET_FPRS);
> 5737 fprintf (dump_file, "TYPE_MODE (type) = %d\n", TYPE_MODE
> (type));
> 5738 }
> 5739 if (TARGET_HARD_FLOAT && TARGET_FPRS
> ......
>
> When I trace it here and find dump_file is NULL so I can not dump them
> out with
> -da option. I do not know how could you do it in this way, could you
> give me
> some advice?
My mistake, rs6000_gimplify_va_arg is called at the tree level, so to
get that dump you will need to use -fdump-tree-all.
> BTW, I am concerned about the value of TARGET_HARD_FLOAT and TARGET_FPRS,
> I think both of them is 1 here, because I built GCC natively on POWER,
> but when I trace
> it , I found it skips this condation statement as if ARGET_HARD_FLOAT
> is 0, I do not know
> why.
TARGET_HARD_FLOAT will be true if the MASK_SOFT_FLOAT bit is not set
in target_flags. That bit can be set based on the CPU architecture
for which the compiler is configured. Search for MASK_SOFT_FLOAT in
rs6000.c. I don't know whether it is set for you.
You will see the definition of TARGET_HARD_FLOAT in options.h in your
gcc build directory.
Ian