[llvm-commits] [llvm] r127976 - /llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
Anders Carlsson
andersca at mac.com
Sun Mar 20 13:21:33 PDT 2011
Author: andersca
Date: Sun Mar 20 15:21:33 2011
New Revision: 127976
URL: http://llvm.org/viewvc/llvm-project?rev=127976&view=rev
Log:
Don't try to eliminate invokes to __cxa_atexit.
Modified:
llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
Modified: llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp?rev=127976&r1=127975&r2=127976&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp Sun Mar 20 15:21:33 2011
@@ -2780,6 +2780,12 @@
if (!CS)
continue;
+ // We're only interested in calls. Theoretically, we could handle invoke
+ // instructions as well, but neither llvm-gcc nor clang generate invokes
+ // to __cxa_atexit.
+ if (!CS.isCall())
+ continue;
+
Function *DtorFn =
dyn_cast<Function>(CS.getArgument(0)->stripPointerCasts());
if (!DtorFn)
More information about the llvm-commits
mailing list