aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ModuleDependencyCollector.cpp
diff options
context:
space:
mode:
authorMikhail Maltsev <mikhail.maltsev@arm.com>2018-04-30 09:11:08 +0000
committerMikhail Maltsev <mikhail.maltsev@arm.com>2018-04-30 09:11:08 +0000
commit89f7b46b7af23722b756bf289d78408d7d1e09f6 (patch)
treeab6e33352c76bf5e259ec5585f3200efa387de0e /clang/lib/Frontend/ModuleDependencyCollector.cpp
parent6c33998ce1a03bc770943015d8cb5d477ee66bd8 (diff)
downloadllvm-89f7b46b7af23722b756bf289d78408d7d1e09f6.zip
llvm-89f7b46b7af23722b756bf289d78408d7d1e09f6.tar.gz
llvm-89f7b46b7af23722b756bf289d78408d7d1e09f6.tar.bz2
[Targets] Implement getConstraintRegister for ARM and AArch64
Summary: The getConstraintRegister method is used by semantic checking of inline assembly statements in order to diagnose conflicts between clobber list and input/output lists. Currently ARM and AArch64 don't override getConstraintRegister, so conflicts between registers assigned to variables in asm labels and clobber lists are not diagnosed. Such conflicts can cause assertion failures in the back end and even miscompilations. This patch implements getConstraintRegister for ARM and AArch64 targets. Since these targets don't have single-register constraints, the implementation is trivial and just returns the register specified in an asm label (if any). Reviewers: eli.friedman, javed.absar, thopre Reviewed By: thopre Subscribers: rengolin, eraman, rogfer01, myatsina, kristof.beyls, cfe-commits, chrib Differential Revision: https://reviews.llvm.org/D45965 llvm-svn: 331164
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions