diff options
author | Andrew Litteken <andrew.litteken@gmail.com> | 2022-03-21 15:56:50 -0500 |
---|---|---|
committer | Andrew Litteken <andrew.litteken@gmail.com> | 2022-04-16 15:47:52 -0500 |
commit | d7c56a076e7aa7a6f44e646fb9f1c504286764e9 (patch) | |
tree | efccce3944d1d034d9d969c8bf81b989b1177431 /flang/lib/Semantics/pointer-assignment.cpp | |
parent | 38ec33d6b9cf7efd6bef5bc238ac32d7e0ffaf39 (diff) | |
download | llvm-d7c56a076e7aa7a6f44e646fb9f1c504286764e9.zip llvm-d7c56a076e7aa7a6f44e646fb9f1c504286764e9.tar.gz llvm-d7c56a076e7aa7a6f44e646fb9f1c504286764e9.tar.bz2 |
[IROutliner] Ensure that phi values that are passed in as arguments are remapped as arguments
Issue: https://github.com/llvm/llvm-project/issues/54430
For incoming values of phi nodes added to an outlined function to accommodate different exit paths in the function, when a value is a constant that is passed into the outlined function as an argument, we find the corresponding value in the first extracted function used to fill the overall outlined function. When this value is an argument, the corresponding value used will be the old value, prior to outlining. This patch maintains a mapping from these values to arguments, and uses this mapping to update the added phi node accordingly.
Reviewers: paquette
Recommit of d6eb480afbc038871570fa053d772c913cd77a61
Differential Revision: https://reviews.llvm.org/D122206
Diffstat (limited to 'flang/lib/Semantics/pointer-assignment.cpp')
0 files changed, 0 insertions, 0 deletions