1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-02 00:42:52 +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 make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
llc add .o file writing for inline asm in llc. Here's a silly 2010-04-05 23:11:24 +00:00
lli Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp. 2010-02-05 16:19:36 +00:00
llvm-ar make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
llvm-as make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
llvm-bcanalyzer Add special case bitcode support for DebugLoc. This avoids 2010-04-03 02:17:50 +00:00
llvm-config Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153. 2010-03-04 20:56:19 +00:00
llvm-dis make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
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 make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
llvm-prof make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
llvm-ranlib To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now. 2009-07-15 22:16:10 +00:00
llvm-shlib Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
llvm-stub Silence MSVC warning. 2009-08-11 11:01:19 +00:00
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 remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00
Makefile Remove if DISABLED not if not DISABLED... 2010-03-23 23:09:03 +00:00