• aesok's avatar
    * target.h (struct gcc_target): Add frame_pointer_required field. · 5a1c68c3
    aesok authored
    	* target-def.h (TARGET_FRAME_POINTER_REQUIRED): New.
    	(TARGET_INITIALIZER): Use TARGET_FRAME_POINTER_REQUIRED.
    	* ira.c (setup_eliminable_regset): Use frame_pointer_required target
    	hook.
    	* reload1.c (update_eliminables): (Ditto.).
    	* gcc/system.h (FRAME_POINTER_REQUIRED): Poison.
    	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
    	(INITIAL_FRAME_POINTER_OFFSET): (Ditto.).
    
    	* config/arc/arc.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/arm/arm.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/arm/arm.c (TARGET_FRAME_POINTER_REQUIRED): Define.
    	(arm_frame_pointer_required): New function.
    
    	* config/avr/avr.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/avr/avr.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(avr_frame_pointer_required_p): Declare as static.
    	* config/avr/avr-protos.h (avr_frame_pointer_required_p): Remove.
    
    	* config/bfin/bfin.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/bfin/bfin.c (TARGET_FRAME_POINTER_REQUIRED): Define.
    	(bfin_frame_pointer_required): Make as static, change return type
    	to bool.
    	* config/bfin/bfin-protos.h (bfin_frame_pointer_required): Remove.
    
    	* config/cris/cris.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/cris/cris.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(cris_frame_pointer_required): New function.
    	
    	* config/crx/crx.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/fr30/fr30.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(fr30_frame_pointer_required): New function.
    	
    	* config/frv/frv.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/frv/frv.c (TARGET_FRAME_POINTER_REQUIRED): Define.
    	(frv_frame_pointer_required): Make as static, change return type
    	to bool.
    	* config/bfin/bfin-protos.h (frv_frame_pointer_required): Remove.
    
    	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/i386/i386.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(ix86_frame_pointer_required): Make as static, change return type to
    	bool.
    	* config/i386/i386-protos.h (ix86_frame_pointer_required): Remove.
    
    	* config/m32c/m32c.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/m32c/m32c.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    
    	* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/mcore/mcore.h (CAN_ELIMINATE): Remove macro.
    	
    	* config/mep/mep.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/mips/mips.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(mips_frame_pointer_required): Make as static.
    	* config/mips/mips-protos.h (mips_frame_pointer_required): Remove.
    	
    	* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/mmix/mmix.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(mmix_frame_pointer_required): Mew function.
    
    	* config/moxie/moxie.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/moxie/moxie.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    
    	* config/pa/pa.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/score/score.h (FRAME_POINTER_REQUIRED): Remove macro.
    
    	* config/sh/sh.h (CAN_ELIMINATE): Remove macro.
    
    	* config/sparc/sparc.h (FRAME_POINTER_REQUIRED): Remove macro.
    	(CAN_ELIMINATE): Redefine.
    	* config/sparc/sparc.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
    	(sparc_frame_pointer_required): New function.
    	(sparc_can_eliminate): New function.
    	* config/sparc/sparc-protos.h (sparc_can_eliminate): Declare.
    
    	* config/vax/vax.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/vax/vax.c (TARGET_FRAME_POINTER_REQUIRED): Define.
    
    	* config/xtensa/xtensa.h (FRAME_POINTER_REQUIRED): Remove macro.
    	* config/xtensa/xtensa.c (TARGET_FRAME_POINTER_REQUIRED): Define.
    	(xtensa_frame_pointer_required): Make as static, change return type
    	to bool.
    	* config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
    	Remove.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149065 138bc75d-0d04-0410-961f-82ee72b054a4
    5a1c68c3
avr.h 28.4 KB