FailedChanges

Summary

  1. GlobalISel: Fix a failing combiner test (details)
  2. [CGSCC][NewPM] Fix adding mutually recursive new functions (details)
Commit 79378b1b757d5c981e60320f5a735f3e356557a0 by vkeles
GlobalISel: Fix a failing combiner test

test/CodeGen/AArch64/GlobalISel/combine-trunc.mir was failing
due to the different order for evaluating function arguments.
This patch updates the related code to fix the issue.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
Commit 91332c4dbb033f7d1ffa1a9632012d88b08661c4 by aeubanks
[CGSCC][NewPM] Fix adding mutually recursive new functions

When adding a new function via addNewFunctionIntoRefSCC(), it creates a
new node and immediately populates the edges. Since populateSlow() calls
G->get() on all referenced functions, it will create a node (but not
populate it) for functions that haven't yet been added. If we add two
mutually recursive functions, the assert that the node should never have
been created will fire when the second function is added. So here we
remove that assert since the node may have already been created (but not
yet populated).

createNode() is only called from addNewFunctionInto{,Ref}SCC().

https://bugs.llvm.org/show_bug.cgi?id=47502

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D87623
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp (diff)
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp (diff)