Index: llvm/trunk/lib/Transforms/IPO/Attributor.cpp =================================================================== --- llvm/trunk/lib/Transforms/IPO/Attributor.cpp +++ llvm/trunk/lib/Transforms/IPO/Attributor.cpp @@ -1757,9 +1757,10 @@ /// See AbstractState::isValidState() bool isValidState() const override { return DerefBytesState.isValidState(); } - // See AbstractState::isAtFixpoint() + /// See AbstractState::isAtFixpoint() bool isAtFixpoint() const override { - return DerefBytesState.isAtFixpoint() && NonNullGlobalState.isAtFixpoint(); + return !isValidState() || (DerefBytesState.isAtFixpoint() && + NonNullGlobalState.isAtFixpoint()); } /// See AbstractState::indicateOptimisticFixpoint(...)