diff options
author | Andrew Litteken <andrew.litteken@gmail.com> | 2020-09-15 18:20:09 -0500 |
---|---|---|
committer | Andrew Litteken <andrew.litteken@gmail.com> | 2020-12-23 13:03:05 -0600 |
commit | b1191c843804c2b2b98ebc88a890589ab7f9af23 (patch) | |
tree | 6417ed8e9a7ab177432574ea9a746c9188f6af7e /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | 3b3a9d24188a0b04bd4d47d7308da0f64430dffe (diff) | |
download | llvm-b1191c843804c2b2b98ebc88a890589ab7f9af23.zip llvm-b1191c843804c2b2b98ebc88a890589ab7f9af23.tar.gz llvm-b1191c843804c2b2b98ebc88a890589ab7f9af23.tar.bz2 |
[IROutliner] Adding support for elevating constants that are not the same in each region to arguments
When there are constants that have the same structural location, but not
the same value, between different regions, we cannot simply outline the
region. Instead, we find the constants that are not the same in each
location, and promote them to arguments to be passed into the respective
functions. At each call site, we pass the constant in as an argument
regardless of type.
Added/Edited Tests:
llvm/test/Transforms/IROutliner/outlining-constants-vs-registers.ll
llvm/test/Transforms/IROutliner/outlining-different-constants.ll
llvm/test/Transforms/IROutliner/outlining-different-globals.ll
Reviewers: paquette, jroelofs
Differential Revision: https://reviews.llvm.org/D87294
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions