aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/bfin/bfin.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/bfin/bfin.c')
-rw-r--r--gcc/config/bfin/bfin.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 05541640c56..926f27a99d9 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -435,7 +435,7 @@ bfin_frame_pointer_required (void)
if (fkind != SUBROUTINE)
return 1;
- /* We turn on on -fomit-frame-pointer if -momit-leaf-frame-pointer is used,
+ /* We turn on -fomit-frame-pointer if -momit-leaf-frame-pointer is used,
so we have to override it for non-leaf functions. */
if (TARGET_OMIT_LEAF_FRAME_POINTER && ! current_function_is_leaf)
return 1;
@@ -1406,14 +1406,8 @@ bfin_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
int
bfin_return_in_memory (tree type)
{
- int size;
- enum machine_mode mode = TYPE_MODE (type);
-
- if (mode == BLKmode)
- return 1;
- size = int_size_in_bytes (type);
-
- return size > 8;
+ int size = int_size_in_bytes (type);
+ return size > 2 * UNITS_PER_WORD || size == -1;
}
/* Register in which address to store a structure value