What to do with LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN?

Nick Lewycky nicholas at mxc.ca
Thu Oct 31 00:28:45 PDT 2013


Rafael EspĂ­ndola wrote:
> An updated patch is attached. I have checked that the gold plugin
> produces equivalent output with it.

Lots of deletes! That makes me smile.

Also, removing a C API call. That's never been in a release, right?

@@ -162,6 +163,8 @@ LTOModule *LTOModule::makeLTOModule(MemoryBuffer 
*buffer,

    TargetMachine *target = march->createTargetMachine(TripleStr, CPU, 
FeatureStr,
                                                       options);
+  m->MaterializeAllPermanently();
+
    LTOModule *Ret = new LTOModule(m.take(), target);
    if (Ret->parseSymbols(errMsg)) {
      delete Ret;

Hah! You should talk to that guy who made LTO work with lazily loaded 
bitcode. ;-)

+// For example: Internalizing a function with external linkage. Only if 
we are
+// told it is only used from within this module, it is safe to do it.

"it is" -> "is it".

LGTM from me assuming that function has never been in a release before, 
but I'd also like to see OtherNick sign off.

Nick



More information about the llvm-commits mailing list