diff --git a/packages/llvm_ir/12.0.1/build.sh b/packages/llvm_ir/12.0.1/build.sh new file mode 100755 index 0000000..7afd41a --- /dev/null +++ b/packages/llvm_ir/12.0.1/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +curl -L "https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz" -o llvm-ir.tar.xz + +tar xf llvm-ir.tar.xz clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-/bin --strip-components=1 + +rm llvm-ir.tar.xz diff --git a/packages/llvm_ir/12.0.1/compile b/packages/llvm_ir/12.0.1/compile new file mode 100755 index 0000000..082fb5c --- /dev/null +++ b/packages/llvm_ir/12.0.1/compile @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +llc "$@" -o binary.s +clang binary.s -o binary diff --git a/packages/llvm_ir/12.0.1/environment b/packages/llvm_ir/12.0.1/environment new file mode 100644 index 0000000..85a25b6 --- /dev/null +++ b/packages/llvm_ir/12.0.1/environment @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +export PATH=$PWD/bin:$PATH diff --git a/packages/llvm_ir/12.0.1/metadata.json b/packages/llvm_ir/12.0.1/metadata.json new file mode 100644 index 0000000..4c92048 --- /dev/null +++ b/packages/llvm_ir/12.0.1/metadata.json @@ -0,0 +1,5 @@ +{ + "language": "llvm_ir", + "version": "12.0.1", + "aliases": ["llvm", "llvm-ir", "ll"] +} diff --git a/packages/llvm_ir/12.0.1/run b/packages/llvm_ir/12.0.1/run new file mode 100644 index 0000000..94b3b0b --- /dev/null +++ b/packages/llvm_ir/12.0.1/run @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +shift +binary "$@" diff --git a/packages/llvm_ir/12.0.1/test.ll b/packages/llvm_ir/12.0.1/test.ll new file mode 100644 index 0000000..be7d5d3 --- /dev/null +++ b/packages/llvm_ir/12.0.1/test.ll @@ -0,0 +1,10 @@ +@.str = private unnamed_addr constant [2 x i8] c"OK" + +declare i32 @puts(i8* nocapture) nounwind + +define i32 @main() { + %cast210 = getelementptr [2 x i8],[2 x i8]* @.str, i64 0, i64 0 + + call i32 @puts(i8* %cast210) + ret i32 0 +} diff --git a/readme.md b/readme.md index 987b40c..c64815a 100644 --- a/readme.md +++ b/readme.md @@ -356,6 +356,7 @@ Content-Type: application/json `julia`, `kotlin`, `lisp`, +`llvm_ir`, `lolcode`, `lua`, `nasm`,