This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: var_args for rs6000 backend
- From: "Yao qi" <qiyaobit at hotmail dot com>
- To: ian at airs dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 09 Sep 2005 14:01:02 +0800
- Subject: Re: var_args for rs6000 backend
- Bcc:
I don't know where the DFP arguments are passed. If they are passed
in the floating point registers, then is the fix as simple as handling
the new modes like SFmode and DFmode in rs6000_gimplify_va_arg?
Yes, new modes has been added correspondingly.
>
> However, I am not sure about the following things in rtl file I dumped,
> ;; End of basic block 0, registers live:
> 1 [1] 3 [3] 31 [31] 33 [1] 34 [2] 35 [3] 36 [4] 37 [5] 38 [6] 39 [7]
> 40 [8] 67 [ap] 113 [sfp]
>
> I have searched it in Charpter 10 RTL representation in GCC internals
for
> GCC 4.0, but I can not find anything to describe it. I guess it is a
> description
> of register usage. 1 means r1 ,31 means r31, 33 means f2, am I right?
Yes. The strings in square brackets are the name of the registers.
This is unfortunately unhelpful for the PowerPC, where the register
names are just numbers. You can try using -mregnames to get better
strings. Or just look at alt_reg_names in rs6000.c for a more useful
mapping from register number to register name.
Yes, alt_reg_names is much more clear than my imagination.
dump_file is a global variable. It will be set if debugging is
enabled for whatever pass is executing at the moment. Using -da turns
on debugging for all RTL passes.
Ian
Best Regards
----------------
Yao Qi
Bejing Institute of Technology
_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/