75 lines · plain
1; REQUIRES: x86-registered-target2; check .ll input3; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \4; RUN: -fembed-bitcode=all -x ir %s -o - \5; RUN: | FileCheck %s6; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \7; RUN: -fembed-bitcode=marker -x ir %s -o - \8; RUN: | FileCheck %s -check-prefix=CHECK-MARKER9; RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm \10; RUN: -fembed-bitcode=all -x ir %s -o - \11; RUN: | FileCheck %s -check-prefix=CHECK-ELF12; RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm \13; RUN: -fembed-bitcode=marker -x ir %s -o - \14; RUN: | FileCheck %s -check-prefix=CHECK-ELF-MARKER15; RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm \16; RUN: -fembed-bitcode=bitcode -x ir %s -o - \17; RUN: | FileCheck %s -check-prefix=CHECK-ELF-ONLY-BITCODE18 19; check .bc input20; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm-bc \21; RUN: -x ir %s -o %t.bc22; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \23; RUN: -fembed-bitcode=all -x ir %t.bc -o - \24; RUN: | FileCheck %s25; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \26; RUN: -fembed-bitcode=bitcode -x ir %t.bc -o - \27; RUN: | FileCheck %s -check-prefix=CHECK-ONLY-BITCODE28; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \29; RUN: -fembed-bitcode=marker -x ir %t.bc -o - \30; RUN: | FileCheck %s -check-prefix=CHECK-MARKER31 32; run through -fembed-bitcode twice and make sure it doesn't crash33; RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm-bc \34; RUN: -fembed-bitcode=all -x ir %s -o - \35; RUN: | %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-llvm \36; RUN: -fembed-bitcode=all -x ir - -o /dev/null37 38; check the magic number of bitcode at the beginning of the string39; CHECK: @llvm.embedded.module = private constant40; CHECK: c"\DE\C0\17\0B41; CHECK: section "__LLVM,__bitcode"42; CHECK: @llvm.cmdline = private constant43; CHECK: section "__LLVM,__cmdline"44 45; CHECK-ELF: @llvm.embedded.module46; CHECK-ELF-SAME: section ".llvmbc", align 147; CHECK-ELF: @llvm.cmdline48; CHECK-ELF-SAME: section ".llvmcmd", align 149 50; CHECK-ELF-MARKER: @llvm.embedded.module51; CHECK-ELF-MARKER: constant [0 x i8] zeroinitializer52; CHECK-ELF-MARKER: @llvm.cmdline53; CHECK-ELF-MARKER: section ".llvmcmd", align 154 55; CHECK-ELF-ONLY-BITCODE: @llvm.embedded.module56; CHECK-ELF-ONLY-BITCODE-SAME: section ".llvmbc", align 157; CHECK-ELF-ONLY-BITCODE-NOT: @llvm.cmdline58; CHECK-ELF-ONLY-BITCODE-NOT: section ".llvmcmd"59 60; CHECK-ONLY-BITCODE: @llvm.embedded.module = private constant61; CHECK-ONLY-BITCODE: c"\DE\C0\17\0B62; CHECK-ONLY-BITCODE: section "__LLVM,__bitcode"63; CHECK-ONLY-BITCODE-NOT: @llvm.cmdline = private constant64; CHECK-ONLY-BITCODE-NOT: section "__LLVM,__cmdline"65 66; CHECK-MARKER: @llvm.embedded.module67; CHECK-MARKER: constant [0 x i8] zeroinitializer68; CHECK-MARKER: section "__LLVM,__bitcode"69; CHECK-MARKER: @llvm.cmdline70; CHECK-MARKER: section "__LLVM,__cmdline"71 72define i32 @f0() {73 ret i32 074}75