aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-06-11 19:28:11 +0000
committerStan Cox <coxs@gnu.org>1996-06-11 19:28:11 +0000
commitf6f58ba3009aa7cacb27bcfe47e457116ed4adb9 (patch)
tree3d42abac45f0ab91277b2ab3fd515b45ce2c0e53
parent983f168571d41dbc8226b6ac6f0a6e012e1d88af (diff)
downloadgcc-f6f58ba3009aa7cacb27bcfe47e457116ed4adb9.zip
gcc-f6f58ba3009aa7cacb27bcfe47e457116ed4adb9.tar.gz
gcc-f6f58ba3009aa7cacb27bcfe47e457116ed4adb9.tar.bz2
(function_prologue): Emit prologue as asm. (override_options): Don't emit rtl for prologue if -fpic.
From-SVN: r12276
-rw-r--r--gcc/config/i386/i386.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index c30b16d..d18d730 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -94,6 +94,7 @@ extern int target_flags;
#define MASK_NO_MOVE 000004000000 /* Don't generate mem->mem */
#define MASK_NO_PSEUDO 000010000000 /* Move op's args -> pseudos */
#define MASK_DEBUG_ARG 000020000000 /* Debug function_arg */
+#define MASK_SCHEDULE_PROLOGUE 000040000000 /* Emit prologue as rtl */
/* Use the floating point instructions */
#define TARGET_80387 (target_flags & MASK_80387)
@@ -136,6 +137,9 @@ extern int target_flags;
#define TARGET_NO_WIDE_MULTIPLY (target_flags & MASK_NO_WIDE_MULTIPLY)
#define TARGET_WIDE_MULTIPLY (!TARGET_NO_WIDE_MULTIPLY)
+/* Emit/Don't emit prologue as rtl */
+#define TARGET_SCHEDULE_PROLOGUE (target_flags & MASK_SCHEDULE_PROLOGUE)
+
/* Debug GO_IF_LEGITIMATE_ADDRESS */
#define TARGET_DEBUG_ADDR (target_flags & MASK_DEBUG_ADDR)
@@ -189,6 +193,8 @@ extern int target_flags;
{ "no-omit-leaf-frame-pointer",-MASK_OMIT_LEAF_FRAME_POINTER }, \
{ "no-wide-multiply", MASK_NO_WIDE_MULTIPLY }, \
{ "wide-multiply", -MASK_NO_WIDE_MULTIPLY }, \
+ { "schedule-prologue", MASK_SCHEDULE_PROLOGUE }, \
+ { "no-schedule-prologue", -MASK_SCHEDULE_PROLOGUE }, \
{ "debug-addr", MASK_DEBUG_ADDR }, \
{ "no-debug-addr", -MASK_DEBUG_ADDR }, \
{ "move", -MASK_NO_MOVE }, \
@@ -196,7 +202,7 @@ extern int target_flags;
{ "debug-arg", MASK_DEBUG_ARG }, \
{ "no-debug-arg", -MASK_DEBUG_ARG }, \
SUBTARGET_SWITCHES \
- { "", TARGET_DEFAULT}}
+ { "", MASK_SCHEDULE_PROLOGUE | TARGET_DEFAULT}}
/* Which processor to schedule for. The cpu attribute defines a list that
mirrors this list, so changes to i386.md must be made at the same time. */