[llvm] r277564 - RecordStreamer: handle inline asm "lazy_reference" and mark symbols as "used"
Mehdi Amini via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 2 20:51:42 PDT 2016
Author: mehdi_amini
Date: Tue Aug 2 22:51:42 2016
New Revision: 277564
URL: http://llvm.org/viewvc/llvm-project?rev=277564&view=rev
Log:
RecordStreamer: handle inline asm "lazy_reference" and mark symbols as "used"
Added:
llvm/trunk/test/Object/X86/asm-lazy-reference.ll
Modified:
llvm/trunk/lib/Object/RecordStreamer.cpp
Modified: llvm/trunk/lib/Object/RecordStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/RecordStreamer.cpp?rev=277564&r1=277563&r2=277564&view=diff
==============================================================================
--- llvm/trunk/lib/Object/RecordStreamer.cpp (original)
+++ llvm/trunk/lib/Object/RecordStreamer.cpp Tue Aug 2 22:51:42 2016
@@ -92,6 +92,8 @@ bool RecordStreamer::EmitSymbolAttribute
MCSymbolAttr Attribute) {
if (Attribute == MCSA_Global || Attribute == MCSA_Weak)
markGlobal(*Symbol, Attribute);
+ if (Attribute == MCSA_LazyReference)
+ markUsed(*Symbol);
return true;
}
Added: llvm/trunk/test/Object/X86/asm-lazy-reference.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/X86/asm-lazy-reference.ll?rev=277564&view=auto
==============================================================================
--- llvm/trunk/test/Object/X86/asm-lazy-reference.ll (added)
+++ llvm/trunk/test/Object/X86/asm-lazy-reference.ll Tue Aug 2 22:51:42 2016
@@ -0,0 +1,15 @@
+; RUN: llvm-as < %s -o - | llvm-nm - | FileCheck %s
+
+target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
+target triple = "i386-apple-macosx10.8.0"
+
+; Verify that llvm-nm handles correctly module level ASM, including "lazy_reference"
+
+; CHECK: U .objc_class_name_Bar
+; CHECK: U .objc_class_name_Foo
+; CHECK: T .objc_class_name_FooSubClass
+
+module asm "\09.objc_class_name_FooSubClass=0"
+module asm "\09.globl .objc_class_name_FooSubClass"
+module asm "\09.lazy_reference .objc_class_name_Foo"
+module asm "\09.lazy_reference .objc_class_name_Bar"
More information about the llvm-commits
mailing list