aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-03-04 21:24:04 +0000
committerDale Johannesen <dalej@apple.com>2009-03-04 21:24:04 +0000
commit6129e24e49f74f694575f9779055233fb1ab506e (patch)
tree1b347e1aab5ca3b4127f734c63dcece4d0bca869
parent35033a5876aa27ea5729bc29b41bb4460a303cad (diff)
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
-rw-r--r--include/llvm/Intrinsics.td2
-rw-r--r--lib/Transforms/Scalar/ADCE.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 7c62096e5a..6d008f3e3b 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 bdf8029b18..bfea2b2784 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<TerminatorInst>(I.getInstructionIterator()) ||
+ isa<DbgInfoIntrinsic>(I.getInstructionIterator()) ||
I->mayWriteToMemory()) {
alive.insert(I.getInstructionIterator());
worklist.push_back(I.getInstructionIterator());