On 02/10/2013 10:39 PM, David Holsgrove wrote:
Added fast_interrupt controller

Changelog

2013-02-11  Nagaraju Mekala <nmek...@xilinx.com>

   * config/microblaze/microblaze-protos.h: microblaze_is_fast_interrupt.
   * config/microblaze/microblaze.c (microblaze_attribute_table): Add
      microblaze_is_fast_interrupt.
      (microblaze_fast_interrupt_function_p): New function.
      (microblaze_is_fast_interrupt check): New function.
      (microblaze_must_save_register): Account for fast_interrupt.
      (save_restore_insns): Likewise.
      (compute_frame_size): Likewise.
      (microblaze_globalize_label): Add FAST_INTERRUPT_NAME.
   * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME as
      fast_interrupt.
   * config/microblaze/microblaze.md (movsi_status): Can be
      fast_interrupt
      (return): Add microblaze_is_fast_interrupt.
      (return_internal): Likewise.

+int
+microblaze_is_fast_interrupt (void)
+{
+  return fast_interrupt;
+}

+  if (fast_interrupt)
+    {

Use wrapper functions consistently.  Either reference the flag everywhere
or use the wrapper everywhere.

+  if (interrupt_handler || fast_interrupt)

+  if (microblaze_is_interrupt_handler () || microblaze_is_fast_interrupt())

There are many places in the patch where both interrupt_handler and 
fast_interrupt
are tested.  These can be eliminated by setting the interrupt_handler flag when
you see fast_interrupt and checking for the correct registers to be saved in
microblaze_must_save_register().

+  if ((interrupt_handler && !prologue) ||( fast_interrupt && !prologue) )

+  if ((interrupt_handler && prologue) || (fast_interrupt && prologue))

Refactor.  Fix spacing around parens.

--
Michael Eager    ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

Reply via email to