llvm.org GIT mirror llvm / 5974678
Merging r225521: ------------------------------------------------------------------------ r225521 | tomatabacu | 2015-01-09 15:00:30 +0000 (Fri, 09 Jan 2015) | 1 line [mips] Add comment which explains why we need to change the assembler options before and after inline asm blocks. NFC. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@232084 91177308-0d34-0410-b5e6-96231b3b80d8 Daniel Sanders 5 years ago
1 changed file(s) with 6 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
724724 const MCSubtargetInfo &StartInfo) const {
725725 MipsTargetStreamer &TS = getTargetStreamer();
726726
727 // GCC's choice of assembler options for inline assembly code ('at', 'macro'
728 // and 'reorder') is different from LLVM's choice for generated code ('noat',
729 // 'nomacro' and 'noreorder').
730 // In order to maintain compatibility with inline assembly code which depends
731 // on GCC's assembler options being used, we have to switch to those options
732 // for the duration of the inline assembly block and then switch back.
727733 TS.emitDirectiveSetPush();
728734 TS.emitDirectiveSetAt();
729735 TS.emitDirectiveSetMacro();