[PATCH] D45593: [DebugInfo][OPT] Fixing a couple of DI duplication bugs of CloneModule

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 16 14:48:28 PDT 2018


aprantl added inline comments.


================
Comment at: llvm/trunk/lib/IR/DebugInfo.cpp:141
+    else
+      llvm_unreachable("unexpected imported entity type");
+  }
----------------
aprantl wrote:
> aprantl wrote:
> > rtereshin wrote:
> > > alberto_magni wrote:
> > > > This commit is causing  failures in my SPEC2006 tests (xalancbmk among others) with -flto=thin and -g.
> > > > The unreachable in this line gets triggered. 
> > > > 
> > > > This is because the if-cascade above does not handle the case for DIGlobalVariable.
> > > > Probably the code that handles GlobalVariables at the top of the function needs to be replicated in one if-case here too.
> > > Hi @alberto_magni,
> > > 
> > > Is there a chance you could extract a regression test from one of those SPEC2006 tests?
> > > 
> > > Thanks!
> > > Roman
> > If it's just a DIGlobalVariable appearing in that list, you should be able to construct one manually without much trouble.
> ```
> $ cat /tmp/using.cpp
> namespace s {
>   int i;
> }
> 
> using s::i;
> 
> int f() { return i; }
> ```
> 
> Using declarations are represented as imported entities.
That also means that we'll need to accept pretty much anything in that list :-(


Repository:
  rL LLVM

https://reviews.llvm.org/D45593





More information about the llvm-commits mailing list