xref: /llvm-project/llvm/test/Transforms/ConstantHoisting/X86/stackmap.ll (revision 33b939c3c8c95e8db68bbf52459792a8c771d51e)
1*33b939c3SRoman Lebedev; RUN: opt -S -passes=consthoist < %s | FileCheck %s
2cee313d2SEric Christopher
3cee313d2SEric Christophertarget datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
4cee313d2SEric Christophertarget triple = "x86_64-apple-macosx10.9.0"
5cee313d2SEric Christopher
6cee313d2SEric Christopher; Test if the 3rd argument of a stackmap is hoisted.
7cee313d2SEric Christopherdefine i128 @test1(i128 %a) {
8cee313d2SEric Christopher; CHECK-LABEL:  @test1
9cee313d2SEric Christopher; CHECK:        %const = bitcast i128 134646182756734033220 to i128
10cee313d2SEric Christopher; CHECK:        tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 1, i32 24, i128 %const)
11cee313d2SEric Christopherentry:
12cee313d2SEric Christopher  %0 = add i128 %a, 134646182756734033220
13cee313d2SEric Christopher  tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 1, i32 24, i128 134646182756734033220)
14cee313d2SEric Christopher  ret i128 %0
15cee313d2SEric Christopher}
16cee313d2SEric Christopher
17cee313d2SEric Christopherdeclare void @llvm.experimental.stackmap(i64, i32, ...)
18