aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Murray <timmurray@google.com>2014-02-21 21:37:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-02-21 21:37:04 +0000
commit48a489496dd0f7cb861ce30e43124811c478da54 (patch)
tree8c87f54a4b706382007b693edd87c21800524abf
parent3d207c9ecb870668d6a845f563d2abeb9cd770ea (diff)
parenteeb251e8db802b836af7461d0f6eb1252c527ab8 (diff)
downloadslang-48a489496dd0f7cb861ce30e43124811c478da54.tar.gz
Merge "Update slang for LLVM 3.4 rebase."
-rw-r--r--BitWriter_2_9/BitcodeWriter.cpp15
-rw-r--r--BitWriter_2_9/BitcodeWriterPass.cpp54
-rw-r--r--BitWriter_2_9_func/BitcodeWriter.cpp15
-rw-r--r--BitWriter_2_9_func/BitcodeWriterPass.cpp54
-rw-r--r--BitWriter_3_2/BitcodeWriter.cpp18
-rw-r--r--BitWriter_3_2/BitcodeWriterPass.cpp54
-rw-r--r--slang.cpp2
7 files changed, 5 insertions, 207 deletions
diff --git a/BitWriter_2_9/BitcodeWriter.cpp b/BitWriter_2_9/BitcodeWriter.cpp
index 0d45193..b87cad9 100644
--- a/BitWriter_2_9/BitcodeWriter.cpp
+++ b/BitWriter_2_9/BitcodeWriter.cpp
@@ -404,7 +404,6 @@ static unsigned getEncodedLinkage(const GlobalValue *GV) {
case GlobalValue::AvailableExternallyLinkage: return 12;
case GlobalValue::LinkerPrivateLinkage: return 13;
case GlobalValue::LinkerPrivateWeakLinkage: return 14;
- case GlobalValue::LinkOnceODRAutoHideLinkage: return 15;
}
llvm_unreachable("Invalid linkage");
}
@@ -1161,20 +1160,8 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
Vals.push_back(VE.getValueID(SI.getDefaultDest()));
for (SwitchInst::ConstCaseIt i = SI.case_begin(), e = SI.case_end();
i != e; ++i) {
- const IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- if (CaseRanges.isSingleNumber()) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(0).toConstantInt()));
+ Vals.push_back(VE.getValueID(i.getCaseValue()));
Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- } else if (CaseRanges.isSingleNumbersOnly()) {
- for (unsigned ri = 0, rn = CaseRanges.getNumItems();
- ri != rn; ++ri) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(ri).toConstantInt()));
- Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- }
- } else {
- llvm_unreachable("Not single number?");
- }
}
}
break;
diff --git a/BitWriter_2_9/BitcodeWriterPass.cpp b/BitWriter_2_9/BitcodeWriterPass.cpp
index dfacc54..d43d690 100644
--- a/BitWriter_2_9/BitcodeWriterPass.cpp
+++ b/BitWriter_2_9/BitcodeWriterPass.cpp
@@ -22,7 +22,6 @@ namespace {
class WriteBitcodePass : public ModulePass {
raw_ostream &OS; // raw_ostream to print on
- bool expandCaseRange(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
explicit WriteBitcodePass(raw_ostream &o)
@@ -32,10 +31,6 @@ namespace {
bool runOnModule(Module &M) {
bool Changed = false;
- for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F)
- if (!F->isDeclaration())
- Changed |= expandCaseRange(*F);
-
llvm_2_9::WriteBitcodeToFile(&M, OS);
return Changed;
}
@@ -44,55 +39,6 @@ namespace {
char WriteBitcodePass::ID = 0;
-/// expandCaseRange - Expand case range into explicit case values within the
-/// range
-bool WriteBitcodePass::expandCaseRange(Function &F) {
- bool Changed = false;
-
- for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
- SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator());
- if (SI == NULL) {
- continue;
- }
-
- for (SwitchInst::CaseIt i = SI->case_begin(), e = SI->case_end();
- i != e; ++i) {
- IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- // All case ranges are already in single case values
- if (CaseRanges.isSingleNumbersOnly()) {
- continue;
- }
-
- // Create a new case
- Type *IntTy = SI->getCondition()->getType();
- IntegersSubsetToBB CaseBuilder;
- Changed = true;
-
- for (unsigned ri = 0, rn = CaseRanges.getNumItems(); ri != rn; ++ri) {
- IntegersSubset::Range r = CaseRanges.getItem(ri);
- bool IsSingleNumber = CaseRanges.isSingleNumber(ri);
-
- if (IsSingleNumber) {
- CaseBuilder.add(r);
- } else {
- const APInt &Low = r.getLow();
- const APInt &High = r.getHigh();
-
- for (APInt V = Low; V != High; V++) {
- assert(r.isInRange(V) && "Unexpected out-of-range case value!");
- CaseBuilder.add(IntItem::fromType(IntTy, V));
- }
- }
-
- IntegersSubset Case = CaseBuilder.getCase();
- i.setValueEx(Case);
- }
- }
- }
- return Changed;
-}
-
/// createBitcodeWriterPass - Create and return a pass that writes the module
/// to the specified ostream.
llvm::ModulePass *llvm_2_9::createBitcodeWriterPass(llvm::raw_ostream &Str) {
diff --git a/BitWriter_2_9_func/BitcodeWriter.cpp b/BitWriter_2_9_func/BitcodeWriter.cpp
index 828d891..e3a9954 100644
--- a/BitWriter_2_9_func/BitcodeWriter.cpp
+++ b/BitWriter_2_9_func/BitcodeWriter.cpp
@@ -358,7 +358,6 @@ static unsigned getEncodedLinkage(const GlobalValue *GV) {
case GlobalValue::AvailableExternallyLinkage: return 12;
case GlobalValue::LinkerPrivateLinkage: return 13;
case GlobalValue::LinkerPrivateWeakLinkage: return 14;
- case GlobalValue::LinkOnceODRAutoHideLinkage: return 15;
}
llvm_unreachable("Invalid linkage");
}
@@ -1115,20 +1114,8 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
Vals.push_back(VE.getValueID(SI.getDefaultDest()));
for (SwitchInst::ConstCaseIt i = SI.case_begin(), e = SI.case_end();
i != e; ++i) {
- const IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- if (CaseRanges.isSingleNumber()) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(0).toConstantInt()));
+ Vals.push_back(VE.getValueID(i.getCaseValue()));
Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- } else if (CaseRanges.isSingleNumbersOnly()) {
- for (unsigned ri = 0, rn = CaseRanges.getNumItems();
- ri != rn; ++ri) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(ri).toConstantInt()));
- Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- }
- } else {
- llvm_unreachable("Not single number?");
- }
}
}
break;
diff --git a/BitWriter_2_9_func/BitcodeWriterPass.cpp b/BitWriter_2_9_func/BitcodeWriterPass.cpp
index 14eb2ff..fe807d3 100644
--- a/BitWriter_2_9_func/BitcodeWriterPass.cpp
+++ b/BitWriter_2_9_func/BitcodeWriterPass.cpp
@@ -22,7 +22,6 @@ namespace {
class WriteBitcodePass : public ModulePass {
raw_ostream &OS; // raw_ostream to print on
- bool expandCaseRange(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
explicit WriteBitcodePass(raw_ostream &o)
@@ -32,10 +31,6 @@ namespace {
bool runOnModule(Module &M) {
bool Changed = false;
- for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F)
- if (!F->isDeclaration())
- Changed |= expandCaseRange(*F);
-
llvm_2_9_func::WriteBitcodeToFile(&M, OS);
return Changed;
}
@@ -44,55 +39,6 @@ namespace {
char WriteBitcodePass::ID = 0;
-/// expandCaseRange - Expand case range into explicit case values within the
-/// range
-bool WriteBitcodePass::expandCaseRange(Function &F) {
- bool Changed = false;
-
- for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
- SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator());
- if (SI == NULL) {
- continue;
- }
-
- for (SwitchInst::CaseIt i = SI->case_begin(), e = SI->case_end();
- i != e; ++i) {
- IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- // All case ranges are already in single case values
- if (CaseRanges.isSingleNumbersOnly()) {
- continue;
- }
-
- // Create a new case
- Type *IntTy = SI->getCondition()->getType();
- IntegersSubsetToBB CaseBuilder;
- Changed = true;
-
- for (unsigned ri = 0, rn = CaseRanges.getNumItems(); ri != rn; ++ri) {
- IntegersSubset::Range r = CaseRanges.getItem(ri);
- bool IsSingleNumber = CaseRanges.isSingleNumber(ri);
-
- if (IsSingleNumber) {
- CaseBuilder.add(r);
- } else {
- const APInt &Low = r.getLow();
- const APInt &High = r.getHigh();
-
- for (APInt V = Low; V != High; V++) {
- assert(r.isInRange(V) && "Unexpected out-of-range case value!");
- CaseBuilder.add(IntItem::fromType(IntTy, V));
- }
- }
-
- IntegersSubset Case = CaseBuilder.getCase();
- i.setValueEx(Case);
- }
- }
- }
- return Changed;
-}
-
/// createBitcodeWriterPass - Create and return a pass that writes the module
/// to the specified ostream.
llvm::ModulePass *llvm_2_9_func::createBitcodeWriterPass(llvm::raw_ostream &Str) {
diff --git a/BitWriter_3_2/BitcodeWriter.cpp b/BitWriter_3_2/BitcodeWriter.cpp
index b6ac056..d5421c5 100644
--- a/BitWriter_3_2/BitcodeWriter.cpp
+++ b/BitWriter_3_2/BitcodeWriter.cpp
@@ -363,7 +363,6 @@ static unsigned getEncodedLinkage(const GlobalValue *GV) {
case GlobalValue::AvailableExternallyLinkage: return 12;
case GlobalValue::LinkerPrivateLinkage: return 13;
case GlobalValue::LinkerPrivateWeakLinkage: return 14;
- case GlobalValue::LinkOnceODRAutoHideLinkage: return 15;
}
llvm_unreachable("Invalid linkage");
}
@@ -1167,26 +1166,13 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
{
Code = bitc::FUNC_CODE_INST_SWITCH;
const SwitchInst &SI = cast<SwitchInst>(I);
-
Vals.push_back(VE.getTypeID(SI.getCondition()->getType()));
Vals.push_back(VE.getValueID(SI.getCondition()));
Vals.push_back(VE.getValueID(SI.getDefaultDest()));
for (SwitchInst::ConstCaseIt i = SI.case_begin(), e = SI.case_end();
i != e; ++i) {
- const IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- if (CaseRanges.isSingleNumber()) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(0).toConstantInt()));
- Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- } else if (CaseRanges.isSingleNumbersOnly()) {
- for (unsigned ri = 0, rn = CaseRanges.getNumItems();
- ri != rn; ++ri) {
- Vals.push_back(VE.getValueID(CaseRanges.getSingleNumber(ri).toConstantInt()));
- Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
- }
- } else {
- llvm_unreachable("Not single number?");
- }
+ Vals.push_back(VE.getValueID(i.getCaseValue()));
+ Vals.push_back(VE.getValueID(i.getCaseSuccessor()));
}
}
break;
diff --git a/BitWriter_3_2/BitcodeWriterPass.cpp b/BitWriter_3_2/BitcodeWriterPass.cpp
index a1e6e7e..cc105c9 100644
--- a/BitWriter_3_2/BitcodeWriterPass.cpp
+++ b/BitWriter_3_2/BitcodeWriterPass.cpp
@@ -22,7 +22,6 @@ namespace {
class WriteBitcodePass : public ModulePass {
raw_ostream &OS; // raw_ostream to print on
- bool expandCaseRange(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
explicit WriteBitcodePass(raw_ostream &o)
@@ -32,10 +31,6 @@ namespace {
bool runOnModule(Module &M) {
bool Changed = false;
- for (Module::iterator F = M.begin(), E = M.end(); F != E; ++F)
- if (!F->isDeclaration())
- Changed |= expandCaseRange(*F);
-
llvm_3_2::WriteBitcodeToFile(&M, OS);
return Changed;
}
@@ -44,55 +39,6 @@ namespace {
char WriteBitcodePass::ID = 0;
-/// expandCaseRange - Expand case range into explicit case values within the
-/// range
-bool WriteBitcodePass::expandCaseRange(Function &F) {
- bool Changed = false;
-
- for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
- SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator());
- if (SI == NULL) {
- continue;
- }
-
- for (SwitchInst::CaseIt i = SI->case_begin(), e = SI->case_end();
- i != e; ++i) {
- IntegersSubset& CaseRanges = i.getCaseValueEx();
-
- // All case ranges are already in single case values
- if (CaseRanges.isSingleNumbersOnly()) {
- continue;
- }
-
- // Create a new case
- Type *IntTy = SI->getCondition()->getType();
- IntegersSubsetToBB CaseBuilder;
- Changed = true;
-
- for (unsigned ri = 0, rn = CaseRanges.getNumItems(); ri != rn; ++ri) {
- IntegersSubset::Range r = CaseRanges.getItem(ri);
- bool IsSingleNumber = CaseRanges.isSingleNumber(ri);
-
- if (IsSingleNumber) {
- CaseBuilder.add(r);
- } else {
- const APInt &Low = r.getLow();
- const APInt &High = r.getHigh();
-
- for (APInt V = Low; V != High; V++) {
- assert(r.isInRange(V) && "Unexpected out-of-range case value!");
- CaseBuilder.add(IntItem::fromType(IntTy, V));
- }
- }
-
- IntegersSubset Case = CaseBuilder.getCase();
- i.setValueEx(Case);
- }
- }
- }
- return Changed;
-}
-
/// createBitcodeWriterPass - Create and return a pass that writes the module
/// to the specified ostream.
ModulePass *llvm_3_2::createBitcodeWriterPass(raw_ostream &Str) {
diff --git a/slang.cpp b/slang.cpp
index 18057d7..bff6864 100644
--- a/slang.cpp
+++ b/slang.cpp
@@ -206,7 +206,7 @@ void Slang::createPreprocessor() {
llvm::IntrusiveRefCntPtr<clang::HeaderSearchOptions> HSOpts =
new clang::HeaderSearchOptions();
clang::HeaderSearch *HeaderInfo = new clang::HeaderSearch(HSOpts,
- *mFileMgr,
+ *mSourceMgr,
*mDiagEngine,
LangOpts,
mTarget.get());