]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/rtl.c
alias.c (can_address_p): Compnonents are not addressable if the containing type has...
[gcc.git] / gcc / rtl.c
index 7a07b7279c022d84bfd9f970d21ef7803880f29b..deaf22c24cf39e266670fa0a044af0f3f4303f14 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -531,6 +531,7 @@ copy_most_rtx (orig, may_share)
 }
 
 /* Create a new copy of an rtx.  Only copy just one level.  */
+
 rtx
 shallow_copy_rtx (orig)
      rtx orig;
@@ -551,6 +552,23 @@ shallow_copy_rtx (orig)
 
   return copy;
 }
+
+/* Return the alignment of MODE. This will be bounded by 1 and
+   BIGGEST_ALIGNMENT.  */
+
+unsigned int
+get_mode_alignment (mode)
+     enum machine_mode mode;
+{
+  unsigned int alignment = GET_MODE_UNIT_SIZE (mode);
+  
+  /* Extract the LSB of the size.  */
+  alignment = alignment & -alignment;
+  alignment *= BITS_PER_UNIT;
+
+  alignment = MIN (BIGGEST_ALIGNMENT, MAX (1, alignment));
+  return alignment;
+}
 \f
 /* This is 1 until after the rtl generation pass.  */
 int rtx_equal_function_value_matters;
This page took 0.026334 seconds and 5 git commands to generate.