aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2017-11-22 13:57:48 +0000
committerThomas Preud'homme <thopre01@gcc.gnu.org>2017-11-22 13:57:48 +0000
commit902c4e8f958707fcddf8e641edf8a586ee629319 (patch)
treeb0654348dffc6d84823415d40bb741d74d49cdf5 /gcc
parentb24de9a6f437e2c5c9fe08b9cda33c076223051b (diff)
downloadgcc-902c4e8f958707fcddf8e641edf8a586ee629319.zip
gcc-902c4e8f958707fcddf8e641edf8a586ee629319.tar.gz
gcc-902c4e8f958707fcddf8e641edf8a586ee629319.tar.bz2
arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of padding_bits_to_clear_ptr.
2017-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of padding_bits_to_clear_ptr. (cmse_nonsecure_entry_clear_before_return): Likewise. From-SVN: r255056
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8cefff5..24190a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2017-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
+ * config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of
+ padding_bits_to_clear_ptr.
+ (cmse_nonsecure_entry_clear_before_return): Likewise.
+
+2017-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Use
auto_sbitap instead of integer bitfield to control register needing
clearing.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 36f3557..63b4f2e 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -17020,7 +17020,6 @@ cmse_nonsecure_call_clear_caller_saved (void)
bool using_r4, first_param = true;
function_args_iterator args_iter;
uint32_t padding_bits_to_clear[4] = {0U, 0U, 0U, 0U};
- uint32_t * padding_bits_to_clear_ptr = &padding_bits_to_clear[0];
if (!NONDEBUG_INSN_P (insn))
continue;
@@ -17104,7 +17103,7 @@ cmse_nonsecure_call_clear_caller_saved (void)
to_clear_args_mask
= compute_not_to_clear_mask (arg_type, arg_rtx,
REGNO (arg_rtx),
- padding_bits_to_clear_ptr);
+ &padding_bits_to_clear[0]);
if (to_clear_args_mask)
{
for (regno = R0_REGNUM; regno <= maxregno; regno++)
@@ -25152,7 +25151,6 @@ cmse_nonsecure_entry_clear_before_return (void)
{
int regno, maxregno = TARGET_HARD_FLOAT ? LAST_VFP_REGNUM : IP_REGNUM;
uint32_t padding_bits_to_clear = 0;
- uint32_t * padding_bits_to_clear_ptr = &padding_bits_to_clear;
auto_sbitmap to_clear_bitmap (maxregno + 1);
tree result_type;
rtx result_rtl;
@@ -25205,7 +25203,7 @@ cmse_nonsecure_entry_clear_before_return (void)
gcc_assert (REG_P (result_rtl));
to_clear_return_mask
= compute_not_to_clear_mask (result_type, result_rtl, 0,
- padding_bits_to_clear_ptr);
+ &padding_bits_to_clear);
if (to_clear_return_mask)
{
gcc_assert ((unsigned) maxregno < sizeof (long long) * __CHAR_BIT__);