Skip to content
  • Toma Tabacu's avatar
    [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks. · a23f13c3
    Toma Tabacu authored
    Summary:
    When generating MIPS assembly, LLVM always overrides the default assembler options by emitting the '.set noreorder', '.set nomacro' and '.set noat' directives,
    while GCC uses the default options if an assembly-level function contains inline assembly code.
    
    This becomes a problem when the code generated by LLVM is interleaved with inline assembly which assumes GCC-like assembler options (from Linux, for example).
    
    This patch fixes these conflicts by setting the appropriate assembler options at the beginning of an inline asm block and popping them at the end.
    
    Reviewers: dsanders
    
    Reviewed By: dsanders
    
    Subscribers: llvm-commits
    
    Differential Revision: http://reviews.llvm.org/D6637
    
    llvm-svn: 224425
    a23f13c3
Loading