"Yao qi" <[EMAIL PROTECTED]> 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