xref: /llvm-project/llvm/test/LTO/X86/inline-asm-lto-discard2.ll (revision b4a8c0ebb6d49f757c687833d85f843aaeb19133)
1; Check that
2; 1. ".lto_discard" works as module inlineasm marker and its argument symbols
3;    are discarded.
4; 2. there is no reassignment error in the presence of ".lto_discard"
5; RUN: llc < %s | FileCheck %s
6
7; CHECK:    .data
8; CHECK-NOT:  .weak  foo
9; CHECK-NOT:  .set   foo, bar
10; CHECK:      .globl foo
11; CHECK:      foo:
12; CHECK:        .byte 1
13
14target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
15target triple = "x86_64-unknown-linux-gnu"
16
17module asm ".lto_discard foo"
18module asm "	.text"
19module asm "bar:"
20module asm "	.data"
21module asm ".weak foo"
22module asm ".set   foo, bar"
23module asm ".weak foo"
24module asm ".set   foo, bar"
25
26module asm ".lto_discard"
27module asm ".globl foo"
28module asm "foo:"
29module asm "   .byte 1"
30