Skip to content
  • Jakob Stoklund Olesen's avatar
    Clean up the handling of the x87 fp stack to make it more robust. · 7297e7e2
    Jakob Stoklund Olesen authored
    Drop the FpMov instructions, use plain COPY instead.
    
    Drop the FpSET/GET instruction for accessing fixed stack positions.
    Instead use normal COPY to/from ST registers around inline assembly, and
    provide a single new FpPOP_RETVAL instruction that can access the return
    value(s) from a call. This is still necessary since you cannot tell from
    the CALL instruction alone if it returns anything on the FP stack. Teach
    fast isel to use this.
    
    This provides a much more robust way of handling fixed stack registers -
    we can tolerate arbitrary FP stack instructions inserted around calls
    and inline assembly. Live range splitting could sometimes break x87 code
    by inserting spill code in unfortunate places.
    
    As a bonus we handle floating point inline assembly correctly now.
    
    llvm-svn: 134018
    7297e7e2
Loading