@@ -628,11 +628,11 @@ void CoroCloner::replaceRetconOrAsyncSuspendUses() {
628
628
return ;
629
629
630
630
// Otherwise, we need to create an aggregate.
631
- Value *Agg = PoisonValue::get (NewS->getType ());
632
- for (auto Arg : llvm::enumerate (Args))
633
- Agg = Builder.CreateInsertValue (Agg , Arg. value (), Arg. index () );
631
+ Value *Aggr = PoisonValue::get (NewS->getType ());
632
+ for (auto [Idx, Arg] : llvm::enumerate (Args))
633
+ Aggr = Builder.CreateInsertValue (Aggr , Arg, Idx );
634
634
635
- NewS->replaceAllUsesWith (Agg );
635
+ NewS->replaceAllUsesWith (Aggr );
636
636
}
637
637
638
638
void CoroCloner::replaceCoroSuspends () {
@@ -1834,8 +1834,8 @@ void coro::AsyncABI::splitCoroutine(Function &F, coro::Shape &Shape,
1834
1834
1835
1835
// Create a continuation function for each of the suspend points.
1836
1836
Clones.reserve (Shape.CoroSuspends .size ());
1837
- for (auto CS : llvm::enumerate (Shape.CoroSuspends )) {
1838
- auto *Suspend = cast<CoroSuspendAsyncInst>(CS. value () );
1837
+ for (auto [Idx, CS] : llvm::enumerate (Shape.CoroSuspends )) {
1838
+ auto *Suspend = cast<CoroSuspendAsyncInst>(CS);
1839
1839
1840
1840
// Create the clone declaration.
1841
1841
auto ResumeNameSuffix = " .resume." ;
@@ -1851,8 +1851,8 @@ void coro::AsyncABI::splitCoroutine(Function &F, coro::Shape &Shape,
1851
1851
}
1852
1852
auto *Continuation = createCloneDeclaration (
1853
1853
F, Shape,
1854
- UseSwiftMangling ? ResumeNameSuffix + Twine (CS. index () ) + " _"
1855
- : ResumeNameSuffix + Twine (CS. index () ),
1854
+ UseSwiftMangling ? ResumeNameSuffix + Twine (Idx ) + " _"
1855
+ : ResumeNameSuffix + Twine (Idx ),
1856
1856
NextF, Suspend);
1857
1857
Clones.push_back (Continuation);
1858
1858
@@ -1885,12 +1885,12 @@ void coro::AsyncABI::splitCoroutine(Function &F, coro::Shape &Shape,
1885
1885
}
1886
1886
1887
1887
assert (Clones.size () == Shape.CoroSuspends .size ());
1888
- for (auto CS : llvm::enumerate (Shape.CoroSuspends )) {
1889
- auto *Suspend = CS. value () ;
1890
- auto *Clone = Clones[CS. index () ];
1888
+ for (auto [Idx, CS] : llvm::enumerate (Shape.CoroSuspends )) {
1889
+ auto *Suspend = CS;
1890
+ auto *Clone = Clones[Idx ];
1891
1891
1892
- CoroCloner::createClone (F, " resume." + Twine (CS. index ()) , Shape, Clone,
1893
- Suspend, TTI);
1892
+ CoroCloner::createClone (F, " resume." + Twine (Idx) , Shape, Clone, Suspend ,
1893
+ TTI);
1894
1894
}
1895
1895
}
1896
1896
@@ -1947,12 +1947,12 @@ void coro::AnyRetconABI::splitCoroutine(Function &F, coro::Shape &Shape,
1947
1947
1948
1948
// Create a continuation function for each of the suspend points.
1949
1949
Clones.reserve (Shape.CoroSuspends .size ());
1950
- for (auto CS : llvm::enumerate (Shape.CoroSuspends )) {
1951
- auto Suspend = cast<CoroSuspendRetconInst>(CS. value () );
1950
+ for (auto [Idx, CS] : llvm::enumerate (Shape.CoroSuspends )) {
1951
+ auto Suspend = cast<CoroSuspendRetconInst>(CS);
1952
1952
1953
1953
// Create the clone declaration.
1954
1954
auto Continuation = createCloneDeclaration (
1955
- F, Shape, " .resume." + Twine (CS. index () ), NextF, nullptr );
1955
+ F, Shape, " .resume." + Twine (Idx ), NextF, nullptr );
1956
1956
Clones.push_back (Continuation);
1957
1957
1958
1958
// Insert a branch to the unified return block immediately before
@@ -2016,12 +2016,12 @@ void coro::AnyRetconABI::splitCoroutine(Function &F, coro::Shape &Shape,
2016
2016
}
2017
2017
2018
2018
assert (Clones.size () == Shape.CoroSuspends .size ());
2019
- for (auto CS : llvm::enumerate (Shape.CoroSuspends )) {
2020
- auto Suspend = CS. value () ;
2021
- auto Clone = Clones[CS. index () ];
2019
+ for (auto [Idx, CS] : llvm::enumerate (Shape.CoroSuspends )) {
2020
+ auto Suspend = CS;
2021
+ auto Clone = Clones[Idx ];
2022
2022
2023
- CoroCloner::createClone (F, " resume." + Twine (CS. index ()) , Shape, Clone,
2024
- Suspend, TTI);
2023
+ CoroCloner::createClone (F, " resume." + Twine (Idx) , Shape, Clone, Suspend ,
2024
+ TTI);
2025
2025
}
2026
2026
}
2027
2027
0 commit comments