1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/tools
Chris Lattner 5b4c7591ac add .o file writing for inline asm in llc. Here's a silly
demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
<inline asm>:1:2: error: unrecognized instruction
	abc incl    %eax
	^
LLVM ERROR: Error parsing inline asm

Only problem seems to be that the parser finalizes OutStreamer 
at the end of the first inline asm, which isn't what we want.
For example:

$ cat asm.c
int foo(int X) {
 __asm__ ("incl    %0" : "+r" (X));
 return X;
}
$ clang asm.c -S -o - -emit-llvm | llc
...
	subq	$8, %rsp
	movl	%edi, (%rsp)
	movl	%edi, %eax
	## InlineAsm Start
	incl    %eax
	## InlineAsm End
	movl	%eax, (%rsp)
	movl	%eax, 4(%rsp)
	addq	$8, %rsp
	ret
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000	subq	$0x08,%rsp
0000000000000004	movl	%edi,(%rsp)
0000000000000007	movl	%edi,%eax
0000000000000009	incl	%eax
$ 

don't stop at inc!

llvm-svn: 100491
2010-04-05 23:11:24 +00:00
..
bugpoint Trim #includes. 2010-03-24 19:56:17 +00:00
edis fix an ugly wart in the MCInstPrinter api where the 2010-04-04 05:04:31 +00:00
gold
llc add .o file writing for inline asm in llc. Here's a silly 2010-04-05 23:11:24 +00:00
lli
llvm-ar
llvm-as
llvm-bcanalyzer Add special case bitcode support for DebugLoc. This avoids 2010-04-03 02:17:50 +00:00
llvm-config
llvm-dis
llvm-extract Trim #includes. 2010-03-24 19:56:17 +00:00
llvm-ld Fix llvm-ld to clean up its output files in case of an error. 2010-03-30 19:56:41 +00:00
llvm-link Trim #includes. 2010-03-24 19:56:17 +00:00
llvm-mc tidy #includes. 2010-04-05 23:07:18 +00:00
llvm-nm
llvm-prof
llvm-ranlib
llvm-shlib
llvm-stub
llvmc Pass -shared to the linker. 2010-04-03 02:00:03 +00:00
lto stringref-ize the MemoryBuffer::get apis. This requires 2010-04-05 22:42:30 +00:00
opt Trim #includes. 2010-03-24 19:56:17 +00:00
CMakeLists.txt
Makefile Remove if DISABLED not if not DISABLED... 2010-03-23 23:09:03 +00:00