Lines Matching defs:frame

2800       /* warning (0, "ignoring -mapcs-frame because -mthumb was used"); */
2819 warning (0, "-mapcs-stack-check incompatible with -mno-apcs-frame");
2838 warning (0, "-g with -mno-apcs-frame may not give sensible debugging");
3204 /* TBD: Dwarf info for apcs frame is not handled yet. */
3486 /* So do interrupt functions that use the frame pointer and Thumb
7391 addresses based on the frame pointer or arg pointer until the
8612 /* Normally the frame registers will be spilt into reg+const during
19200 compromise save just the frame pointers. Combined with the link
19218 /* Handle the frame pointer as a special case. */
19265 stack, above the stack frame. We need to know this accurately to get the
19266 alignment of the rest of the stack frame correct. */
19296 /* If we are creating a stack frame, then we must save the frame pointer,
19547 being saved. 1) a stack frame was created, in which case
19785 asm_fprintf (f, "\t%@ args = %d, pretend = %d, frame = %wd\n",
19833 /* We need to take into account any stack-frame rounding. */
19868 /* Create sequence for DWARF info. All the frame-related data for
20150 of DWARF2 frame unwind information. DWARF_REGS_MASK is a subset of
20151 MASK for registers that should be annotated for DWARF2 frame unwind
20164 /* We don't record the PC in the dwarf frame information. */
20193 For the frame note however, we try to be more explicit and actually
20194 show each register being stored into the stack frame, plus a (single)
20311 of DWARF2 frame unwind information. */
20402 of DWARF2 frame unwind information. */
20507 saved_regs_mask. Var i gives index of saved registers in stack frame.
20814 These can be the arg pointer (26), the soft frame pointer (25),
20815 the stack pointer (13) or the hard frame pointer (11).
20816 In thumb mode r7 is used as the soft frame pointer, if needed.
20828 | | frame
20834 soft frame pointer -> | | /
20856 from the soft frame pointer to the hard frame pointer.
20886 frame size cannot be changed after that time, so we can safely
20902 offsets->frame
20917 soft frame pointer to be doubleword aligned. */
20944 /* Saved registers include the stack frame. */
20967 when there is a stack frame as the alignment will be rolled into
21062 /* This is the reverse of the soft frame pointer
21063 to hard frame pointer elimination below. */
21068 is stored above the frame. */
21069 return offsets->frame - offsets->saved_args - 4;
21088 /* The hard frame pointer points to the top entry in the
21089 stack frame. The soft frame pointer to the bottom entry
21090 in the stack frame. If there is no stack frame at all,
21093 return offsets->frame - offsets->soft_frame;
21105 In theory you could eliminate from the hard frame
21107 happen, since if a stack frame is not needed the
21108 hard frame pointer will never be used. */
21117 HARD_FRAME_POINTER_REGNUM are in fact the same thing. If we need a frame
21176 /* Set the Thumb frame pointer from the stack pointer. */
21284 when creating frame, save that register in a special
21291 Creating a frame pointer however, corrupts the IP
21298 this instruction is labeled as being part of the frame
21305 frame creation although it is part of the prologue. */
21310 used as a scratch register during stack frame creation.
21312 whilst the frame is being created. We try the following
21316 2. A slot on the stack above the frame if there are no
21410 push of IP (needed when frame is needed and frame layout if apcs),
21432 to worry about a frame pointer then push extra registers to
21433 create the stack frame. This is done is a way that does not
21434 alter the frame layout, so is independent of the epilogue. */
21436 int frame;
21440 frame = offsets->outgoing_args - (offsets->saved_args + saved_regs);
21441 if (frame && n * 4 >= frame)
21443 n = frame / 4;
21445 saved_regs += frame;
21478 /* Create the new frame pointer. */
21531 /* If the frame pointer is needed, emit a special barrier that
21532 will prevent the scheduler from moving stores to the frame
23306 of an argument from the frame pointer. */
23320 /* If we are using the frame pointer to point at the argument, then
23327 /* ??? Check this is consistent with thumb2 frame layout. */
23334 offset from the frame pointer. Since GDB only understands
23336 held in the register into an offset from the frame pointer.
23339 register is initialized from the frame pointer plus an offset
23348 an offset of 0 from the frame pointer, rather than 8. */
23357 which is the frame pointer
23707 /* Restore the (ARM) frame pointer and stack pointer. */
23844 /* Work out which register currently contains the frame pointer. */
23876 /* Since we have just move the popped value into the frame
24076 no chance to change stack frame layout. */
24154 /* If the stack frame size is 512 exactly, we can save one load
24176 between the push and the stack frame allocation. */
24393 arm_return_addr (int count, rtx frame ATTRIBUTE_UNUSED)
24417 isn't an ABI specified frame pointer for Thumb. Instead, we set it
24554 12 mov R7, FP Get hold of the current frame pointer.
24560 22 mov FP, R7 Put this value into the frame pointer. */
24709 /* Load the pic register before setting the frame pointer,
24892 /* Epilogue code for APCS frame. */
24906 /* Get frame offsets for ARM. */
24910 /* Find the offset of the floating-point save area in the frame. */
24914 - offsets->frame);
24970 /* The frame pointer is guaranteed to be non-double-word aligned, as
25091 /* Get frame offsets for ARM. */
25102 /* In ARM mode, frame pointer points to first saved register.
25104 amount = offsets->frame - offsets->saved_regs;
25122 /* In Thumb-2 mode, the frame pointer points to the last saved
25150 /* Pop off outgoing args and local frame to adjust stack pointer to
26333 delta = offsets->outgoing_args - (offsets->frame + 4);
26348 /* The store needs to be marked as frame related in order to prevent
26387 /* Allow for the stack frame. */
26404 /* The store needs to be marked as frame related in order to prevent
26496 using r0-r4 for function arguments, r7 for the stack frame and don't have
26959 the frame annotations. */