[llvm] r239559 - LTO: expose LTO_SYMBOL_COMDAT flag, which indicates that the definition is part of a comdat group.

Peter Collingbourne peter at pcc.me.uk
Thu Jun 11 14:41:28 PDT 2015


Author: pcc
Date: Thu Jun 11 16:41:27 2015
New Revision: 239559

URL: http://llvm.org/viewvc/llvm-project?rev=239559&view=rev
Log:
LTO: expose LTO_SYMBOL_COMDAT flag, which indicates that the definition is part of a comdat group.

Reviewers: rafael

Subscribers: llvm-commits, ruiu

Differential Revision: http://reviews.llvm.org/D10330

Modified:
    llvm/trunk/include/llvm-c/lto.h
    llvm/trunk/lib/LTO/LTOModule.cpp

Modified: llvm/trunk/include/llvm-c/lto.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/lto.h?rev=239559&r1=239558&r2=239559&view=diff
==============================================================================
--- llvm/trunk/include/llvm-c/lto.h (original)
+++ llvm/trunk/include/llvm-c/lto.h Thu Jun 11 16:41:27 2015
@@ -62,7 +62,8 @@ typedef enum {
     LTO_SYMBOL_SCOPE_HIDDEN                = 0x00001000,
     LTO_SYMBOL_SCOPE_PROTECTED             = 0x00002000,
     LTO_SYMBOL_SCOPE_DEFAULT               = 0x00001800,
-    LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN = 0x00002800
+    LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN = 0x00002800,
+    LTO_SYMBOL_COMDAT                      = 0x00004000
 } lto_symbol_attributes;
 
 /**

Modified: llvm/trunk/lib/LTO/LTOModule.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LTO/LTOModule.cpp?rev=239559&r1=239558&r2=239559&view=diff
==============================================================================
--- llvm/trunk/lib/LTO/LTOModule.cpp (original)
+++ llvm/trunk/lib/LTO/LTOModule.cpp Thu Jun 11 16:41:27 2015
@@ -468,6 +468,9 @@ void LTOModule::addDefinedSymbol(const c
   else
     attr |= LTO_SYMBOL_SCOPE_DEFAULT;
 
+  if (def->hasComdat())
+    attr |= LTO_SYMBOL_COMDAT;
+
   auto Iter = _defines.insert(Name).first;
 
   // fill information structure





More information about the llvm-commits mailing list