File tree Expand file tree Collapse file tree 1 file changed +1
-27
lines changed Expand file tree Collapse file tree 1 file changed +1
-27
lines changed Original file line number Diff line number Diff line change @@ -8412,34 +8412,8 @@ void ScalarEvolution::visitAndClearUsers(
8412
8412
SmallVectorImpl<const SCEV *> &ToForget) {
8413
8413
while (!Worklist.empty()) {
8414
8414
Instruction *I = Worklist.pop_back_val();
8415
- if (!isSCEVable(I->getType())) {
8416
- // detect if a user is matching the pattern
8417
- // extractvalue 0, (with-overflow-inst op1, op2))
8418
- auto *WO = dyn_cast<WithOverflowInst>(I);
8419
- if (!WO)
8420
- continue;
8421
-
8422
- for (auto *WOUser : WO->users()) {
8423
- auto *EVO = dyn_cast<ExtractValueInst>(WOUser);
8424
-
8425
- if (!EVO)
8426
- continue;
8427
-
8428
- if (EVO->getNumIndices() != 1 || EVO->getIndices()[0] != 0)
8429
- continue;
8430
-
8431
- ValueExprMapType::iterator It =
8432
- ValueExprMap.find_as(static_cast<Value *>(EVO));
8433
- if (It != ValueExprMap.end()) {
8434
- eraseValueFromMap(It->first);
8435
- ToForget.push_back(It->second);
8436
- }
8437
-
8438
- PushDefUseChildren(EVO, Worklist, Visited);
8439
- }
8440
-
8415
+ if (!isSCEVable(I->getType()) && !isa<WithOverflowInst>(I))
8441
8416
continue;
8442
- }
8443
8417
8444
8418
ValueExprMapType::iterator It =
8445
8419
ValueExprMap.find_as(static_cast<Value *>(I));
You can’t perform that action at this time.
0 commit comments