SuccessChanges

Summary

  1. [CodeView][DebugInfo] Add test case to show that linkage names are not (details)
  2. Revert "[BasicAA] Handle recursive queries more efficiently" (details)
  3. [NFC][SimplifyCFG] Add testcase showing that we fail to preserve DomTree in switchToSelect() (details)
  4. [Utils] splitBlockBefore() always operates on DomTreeUpdater, so take it, not DomTree (details)
  5. [Utils][SimplifyCFG] Port SplitBlock() to DomTreeUpdater (details)
  6. [SimplifyCFG] Port SplitBlockAndInsertIfThen() to DomTreeUpdater (details)
  7. [SimplifyCFG][BasicBlockUtils] Port SplitBlockPredecessors()/SplitLandingPadPredecessors() to DomTreeUpdater (details)
  8. [SimplifyCFG] switchToSelect(): don't forget to insert DomTree edge iff needed (details)
Commit a1be47b4771467998d7549dcd1b9f9cebdaa9af9 by akhuang
[CodeView][DebugInfo] Add test case to show that linkage names are not
being added to class types in -gline-tables-only.
Also changed the name of the test file for clarity.
(follow up to D94639)
The file was addedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
The file was removedclang/test/CodeGenCXX/debug-info-codeview-scopes.cpp
Commit 64db296e5a8c9fdc2f7feb4afb60d59c140a78aa by rnk
Revert "[BasicAA] Handle recursive queries more efficiently"

This reverts commit a3904cc77f181cff7355357688edfc392a236f5d.
It causes the compiler to crash while building Harfbuzz for ARM in
Chromium, reduced reproducer forthcoming:
https://crbug.com/1167305
The file was modifiedllvm/include/llvm/Analysis/BasicAliasAnalysis.h
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
Commit 61ec2280308bd5e2161efe2959d7d26798c85cb4 by lebedev.ri
[NFC][SimplifyCFG] Add testcase showing that we fail to preserve DomTree in switchToSelect()
The file was addedllvm/test/Transforms/SimplifyCFG/switchToSelect-domtree-preservation-edgecase.ll
Commit b81f75fa79162e9e2ba84d6b4cdd72f564b050c6 by lebedev.ri
[Utils] splitBlockBefore() always operates on DomTreeUpdater, so take it, not DomTree

Even though not all it's users operate on DomTreeUpdater,
it itself internally operates on DomTreeUpdater,
so it must mean everything is fine with that,
so just do that globally.
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit c845c724c2323660e81a0b284aaa461842f1b402 by lebedev.ri
[Utils][SimplifyCFG] Port SplitBlock() to DomTreeUpdater

This is not nice, but it's the best transient solution possible,
and is better than just duplicating the whole function.

The problem is, this function is widely used,
and it is not at all obvious that all the users
could be painlessly switched to operate on DomTreeUpdater,
and somehow i don't feel like porting all those users first.

This function is one of last three that not operate on DomTreeUpdater.
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
Commit 286cf6cb029a9942df6ff1d99570e93c25fe29f0 by lebedev.ri
[SimplifyCFG] Port SplitBlockAndInsertIfThen() to DomTreeUpdater

This is not nice, but it's the best transient solution possible,
and is better than just duplicating the whole function.

The problem is, this function is widely used,
and it is not at all obvious that all the users
could be painlessly switched to operate on DomTreeUpdater,
and somehow i don't feel like porting all those users first.

This function is one of last three that not operate on DomTreeUpdater.
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit c6654a4cdab4156bae51970fa64993e790fc4adb by lebedev.ri
[SimplifyCFG][BasicBlockUtils] Port SplitBlockPredecessors()/SplitLandingPadPredecessors() to DomTreeUpdater

This is not nice, but it's the best transient solution possible,
and is better than just duplicating the whole function.

The problem is, this function is widely used,
and it is not at all obvious that all the users
could be painlessly switched to operate on DomTreeUpdater,
and somehow i don't feel like porting all those users first.

This function is one of last three that not operate on DomTreeUpdater.
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
Commit a14c36fe27f5c36de44049237011d140a7277774 by lebedev.ri
[SimplifyCFG] switchToSelect(): don't forget to insert DomTree edge iff needed

DestBB might or might not already be a successor of SelectBB,
and it wasn't we need to ensure that we record the fact in DomTree.

The testcase used to crash in lazy domtree updater mode + non-per-function
domtree validity checks disabled.
The file was modifiedllvm/test/Transforms/SimplifyCFG/switchToSelect-domtree-preservation-edgecase.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp