From 6129e24e49f74f694575f9779055233fb1ab506e Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Wed, 4 Mar 2009 21:24:04 +0000 Subject: [PATCH] Re-commit 65975 and a fix for the problem that was causing llvm-gcc to fail to build. I've verified it bootstraps now; good enough for me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66073 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Intrinsics.td | 2 ++ lib/Transforms/Scalar/ADCE.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index 7c62096e5aa..6d008f3e3bf 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -261,6 +261,7 @@ let Properties = [IntrNoMem] in { // // None of these intrinsics accesses memory at all. +let Properties = [IntrNoMem] in { def int_dbg_stoppoint : Intrinsic<[llvm_void_ty], [llvm_i32_ty, llvm_i32_ty, llvm_descriptor_ty]>; @@ -269,6 +270,7 @@ let Properties = [IntrNoMem] in { def int_dbg_func_start : Intrinsic<[llvm_void_ty], [llvm_descriptor_ty]>; def int_dbg_declare : Intrinsic<[llvm_void_ty], [llvm_descriptor_ty, llvm_descriptor_ty]>; +} //===------------------ Exception Handling Intrinsics----------------------===// // diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp index bdf8029b18e..bfea2b27841 100644 --- a/lib/Transforms/Scalar/ADCE.cpp +++ b/lib/Transforms/Scalar/ADCE.cpp @@ -18,6 +18,7 @@ #include "llvm/Transforms/Scalar.h" #include "llvm/BasicBlock.h" #include "llvm/Instructions.h" +#include "llvm/IntrinsicInst.h" #include "llvm/Pass.h" #include "llvm/Support/CFG.h" #include "llvm/Support/Compiler.h" @@ -55,6 +56,7 @@ bool ADCE::runOnFunction(Function& F) { // Collect the set of "root" instructions that are known live. for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) if (isa(I.getInstructionIterator()) || + isa(I.getInstructionIterator()) || I->mayWriteToMemory()) { alive.insert(I.getInstructionIterator()); worklist.push_back(I.getInstructionIterator());