diff options
author | Bill Wendling <isanbard@gmail.com> | 2018-12-18 22:54:03 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2018-12-18 22:54:03 +0000 |
commit | aa77513bb99775fb44eddea9ace0d45a55aaf802 (patch) | |
tree | 56d5b393aae357dfc3f81b59ad82350eb141c293 /clang/lib/Basic/TargetInfo.cpp | |
parent | bb3d3a8f2ed5af0c080970ec8f3bcb39303f6566 (diff) | |
download | bcm5719-llvm-aa77513bb99775fb44eddea9ace0d45a55aaf802.tar.gz bcm5719-llvm-aa77513bb99775fb44eddea9ace0d45a55aaf802.zip |
Emit ASM input in a constant context
Summary:
Some ASM input constraints (e.g., "i" and "n") require immediate values. At O0,
very few code transformations are performed. So if we cannot resolve to an
immediate when emitting the ASM input we shouldn't delay its processing.
Reviewers: rsmith, efriedma
Reviewed By: efriedma
Subscribers: rehana, efriedma, craig.topper, jyknight, cfe-commits
Differential Revision: https://reviews.llvm.org/D55616
llvm-svn: 349561
Diffstat (limited to 'clang/lib/Basic/TargetInfo.cpp')
-rw-r--r-- | clang/lib/Basic/TargetInfo.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp index 7b69cb097c8..269fad38b8d 100644 --- a/clang/lib/Basic/TargetInfo.cpp +++ b/clang/lib/Basic/TargetInfo.cpp @@ -685,7 +685,9 @@ bool TargetInfo::validateInputConstraint( // FIXME: Fail if % is used with the last operand. break; case 'i': // immediate integer. + break; case 'n': // immediate integer with a known value. + Info.setRequiresImmediate(); break; case 'I': // Various constant constraints with target-specific meanings. case 'J': |