Pragma llvm_inline_ir

Adding pragma llvm_inline_ir.

Improved the error messages.

Append "ret void" when the return type is void

Improved the error message

in case when the string passed as llvm inline ir isn't valid llvm
assembly language.

LLVM 3.2 fix.

Add attribute AlwaysInline inside DtoInlineIRFunction.

Always generate a body for llvm_inline_ir

Also, always make llvm_inline_ir functions linkonce_odr. Because
the body is always generated when a module uses a llvm_inline_ir
function, the fact that the linker removes the function shouldn't
cause problems.
This commit is contained in:
Jernej Krempuš
2012-10-22 02:25:56 +02:00
parent 7708d2e27a
commit 7bbe782615
6 changed files with 154 additions and 3 deletions

View File

@@ -283,6 +283,7 @@ Msgtable msgtable[] =
{ "ldc" },
{ "allow_inline" },
{ "llvm_inline_asm" },
{ "llvm_inline_ir" },
{ "fence" },
{ "atomic_load" },
{ "atomic_store" },