diff options
author | Tim Murray <timmurray@google.com> | 2014-02-21 21:37:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-02-21 21:37:04 +0000 |
commit | 48a489496dd0f7cb861ce30e43124811c478da54 (patch) | |
tree | 8c87f54a4b706382007b693edd87c21800524abf | |
parent | 3d207c9ecb870668d6a845f563d2abeb9cd770ea (diff) | |
parent | eeb251e8db802b836af7461d0f6eb1252c527ab8 (diff) | |
download | slang-48a489496dd0f7cb861ce30e43124811c478da54.tar.gz |
Merge "Update slang for LLVM 3.4 rebase."
-rw-r--r-- | BitWriter_2_9/BitcodeWriter.cpp | 15 | ||||
-rw-r--r-- | BitWriter_2_9/BitcodeWriterPass.cpp | 54 | ||||
-rw-r--r-- | BitWriter_2_9_func/BitcodeWriter.cpp | 15 | ||||
-rw-r--r-- | BitWriter_2_9_func/BitcodeWriterPass.cpp | 54 | ||||
-rw-r--r-- | BitWriter_3_2/BitcodeWriter.cpp | 18 | ||||
-rw-r--r-- | BitWriter_3_2/BitcodeWriterPass.cpp | 54 | ||||
-rw-r--r-- | slang.cpp | 2 |
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) { @@ -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()); |