mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-27 05:32:22 +00:00
switchinst ctor now takes a hint for the number of cases that it will have.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19898 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5598aa0328
commit
378805969e
@ -439,7 +439,7 @@ emitCallAndSwitchStatement(Function *newFunction, BasicBlock *codeReplacer,
|
||||
// Now we can emit a switch statement using the call as a value.
|
||||
SwitchInst *TheSwitch =
|
||||
new SwitchInst(ConstantUInt::getNullValue(Type::UShortTy),
|
||||
codeReplacer, codeReplacer);
|
||||
codeReplacer, 0, codeReplacer);
|
||||
|
||||
// Since there may be multiple exits from the original region, make the new
|
||||
// function return an unsigned, switch on that number. This loop iterates
|
||||
|
@ -518,7 +518,7 @@ static bool FoldValueComparisonIntoPredecessors(TerminatorInst *TI) {
|
||||
AddPredecessorToBlock(NewSuccessors[i], Pred, BB);
|
||||
|
||||
// Now that the successors are updated, create the new Switch instruction.
|
||||
SwitchInst *NewSI = new SwitchInst(CV, PredDefault, PTI);
|
||||
SwitchInst *NewSI = new SwitchInst(CV, PredDefault, PredCases.size(),PTI);
|
||||
for (unsigned i = 0, e = PredCases.size(); i != e; ++i)
|
||||
NewSI->addCase(PredCases[i].first, PredCases[i].second);
|
||||
|
||||
@ -1209,7 +1209,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
|
||||
if (!TrueWhenEqual) std::swap(DefaultBB, EdgeBB);
|
||||
|
||||
// Create the new switch instruction now.
|
||||
SwitchInst *New = new SwitchInst(CompVal, DefaultBB, BI);
|
||||
SwitchInst *New = new SwitchInst(CompVal, DefaultBB,Values.size(),BI);
|
||||
|
||||
// Add all of the 'cases' to the switch instruction.
|
||||
for (unsigned i = 0, e = Values.size(); i != e; ++i)
|
||||
|
Loading…
x
Reference in New Issue
Block a user