Proper way to wait N cycles in ARM Cortex-M4
This is one method from here: 

 volatile unsigned long delay;

 SYSCTL_RCGC2_R |= 0x00000010;   // 1) activate clock for Port E
 delay = SYSCTL_RCGC2_R;         //    allow time for clock to stabilize


You could also set up us the clock(s) and go do something else for a few cycles (initialize some stuff) but that's a potential bug in the future. 



Edit: The dummy line compiles to: 

  400286:   681b        ldr r3, [r3, #0]
  400288:   9301        str r3, [sp, #4]


On the Cortex M4


  ldr is 2 cycles 
  
  str is 2 cycles


See here for M4 cycle counts. 

The volatile keyword keeps the ldr and str instructions from being combined, as I understand it.