llvm-6502/test/CodeGen
Daniel Sanders d3e5e7407b Merging r224425:
------------------------------------------------------------------------
r224425 | tomatabacu | 2014-12-17 10:56:16 +0000 (Wed, 17 Dec 2014) | 17 lines

[mips] Set GCC-compatible MIPS asssembler options before inline asm blocks.

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
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@232083 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-12 19:17:32 +00:00
..
AArch64 Merging r216064: 2014-08-20 17:42:35 +00:00
ARM Merging r223055: 2014-12-04 22:59:55 +00:00
CPP
Generic
Hexagon
Inputs
Mips Merging r224425: 2015-03-12 19:17:32 +00:00
MSP430
NVPTX
PowerPC Merging r223708: 2014-12-09 02:37:53 +00:00
R600
SPARC
SystemZ
Thumb
Thumb2
X86
XCore