[llvm-reduce] Try harder to not create invalid aliases
This was done by adding --abort-on-invalid-reduction to remove-function-bodies-used-in-globals.ll and fixing the fallout. Aliases must have a GlobalValue or ConstantExpr aliasee and the aliasee must be a definition if it's a GlobalValue. Don't RAUW functions with null if there's an alias pointing to it, and similarly don't delete the body of a function. Don't delete the entire body of a function when reducing blocks, preserve at least one block. Also make debugging these sorts of things easier by dumping the module when --abort-on-invalid-reduction triggers. Reviewed By: regehr Differential Revision: https://reviews.llvm.org/D131505
Loading
Please sign in to comment