[Evaluator] Examine alias when evaluating function call

This fixes PR38120

llvm-svn: 336702
diff --git a/llvm/test/Transforms/GlobalOpt/evaluate-call.ll b/llvm/test/Transforms/GlobalOpt/evaluate-call.ll
index 2721100..c045674 100644
--- a/llvm/test/Transforms/GlobalOpt/evaluate-call.ll
+++ b/llvm/test/Transforms/GlobalOpt/evaluate-call.ll
@@ -28,10 +28,12 @@
 @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_main.cpp, i8* null }]
 
 define internal void @__cxx_global_var_init() section "__TEXT,__StaticInit,regular,pure_instructions" {
-  call void @_ZN1SC1Ev(%struct.S* @_s)
+  call void @_ZN1SC1Ev_alias(%struct.S* @_s)
   ret void
 }
 
+@_ZN1SC1Ev_alias = linkonce_odr unnamed_addr alias void (%struct.S*), void (%struct.S*)* @_ZN1SC1Ev
+
 define linkonce_odr void @_ZN1SC1Ev(%struct.S*) unnamed_addr align 2 {
   %2 = alloca %struct.S*, align 8
   store %struct.S* %0, %struct.S** %2, align 8