diff mbox series

[GCC/ARM] Remove useless variable in CMSE code

Message ID c9680e47-9657-b6c3-65b1-f801422fc18c@foss.arm.com
State New
Headers show
Series [GCC/ARM] Remove useless variable in CMSE code | expand

Commit Message

Thomas Preudhomme Nov. 22, 2017, 1:59 p.m. UTC
Hi,

Functions cmse_nonsecure_call_clear_caller_saved () and
cmse_nonsecure_entry_clear_before_return () use a separate variable
holding a pointer to padding_bits_to_clear array's first entry which is
used when calling function compute_not_to_clear_mask ().  This does not
save space over using &padding_bits_to_clear[0] directly so this commit
gets rid of it.

ChangeLog entry is as follows:

*** gcc/ChangeLog ***

2017-11-08  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.

Testing: Bootstrapped an arm-none-linux-gnueabihf compiler and
regression test does not show any regression.

Committed as obvious.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 7384b96fea0179334a6010b099df68c8e2a0fc32..bcb708c1b316ea08969e118fb0949b941ff19c27 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -17002,7 +17002,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;
@@ -17086,7 +17085,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++)
@@ -25134,7 +25133,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;
@@ -25187,7 +25185,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__);