summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/BasicBlock.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-04-10 00:04:27 +0000
committerBill Wendling <isanbard@gmail.com>2011-04-10 00:04:27 +0000
commit3d5450d809a553872e3c931b5312352889b8e80c (patch)
tree81643566fe4f9f30b05d09fc2b0be8961f296655 /llvm/lib/VMCore/BasicBlock.cpp
parent39439739cf2bef1489c171166ff2e2b8542ab056 (diff)
downloadbcm5719-llvm-3d5450d809a553872e3c931b5312352889b8e80c.tar.gz
bcm5719-llvm-3d5450d809a553872e3c931b5312352889b8e80c.zip
Beginning of the Great Exception Handling Rewrite.
* Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
Diffstat (limited to 'llvm/lib/VMCore/BasicBlock.cpp')
-rw-r--r--llvm/lib/VMCore/BasicBlock.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/VMCore/BasicBlock.cpp b/llvm/lib/VMCore/BasicBlock.cpp
index 955a0285b26..b46fab590f1 100644
--- a/llvm/lib/VMCore/BasicBlock.cpp
+++ b/llvm/lib/VMCore/BasicBlock.cpp
@@ -38,10 +38,10 @@ LLVMContext &BasicBlock::getContext() const {
// are not in the public header file...
template class llvm::SymbolTableListTraits<Instruction, BasicBlock>;
-
BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent,
BasicBlock *InsertBefore)
- : Value(Type::getLabelTy(C), Value::BasicBlockVal), Parent(0) {
+ : Value(Type::getLabelTy(C), Value::BasicBlockVal), Parent(0),
+ IsLandingPad(false) {
// Make sure that we get added to a function
LeakDetector::addGarbageObject(this);
@@ -57,7 +57,6 @@ BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent,
setName(Name);
}
-
BasicBlock::~BasicBlock() {
// If the address of the block is taken and it is being deleted (e.g. because
// it is dead), this means that there is either a dangling constant expr
OpenPOWER on IntegriCloud