diff options
author | Marina Yatsina <marina.yatsina@intel.com> | 2016-12-26 12:24:49 +0000 |
---|---|---|
committer | Marina Yatsina <marina.yatsina@intel.com> | 2016-12-26 12:24:49 +0000 |
commit | 168b954611ab90d218d768b44c48b3f3c61d982c (patch) | |
tree | 855100fc64df86a03aa4daaafe4ed1999e9c6031 /llvm/lib/Transforms/Utils/ModuleUtils.cpp | |
parent | c42fd03bf85486cc60a8b5171f1f21e37855bbf1 (diff) | |
download | llvm-168b954611ab90d218d768b44c48b3f3c61d982c.zip llvm-168b954611ab90d218d768b44c48b3f3c61d982c.tar.gz llvm-168b954611ab90d218d768b44c48b3f3c61d982c.tar.bz2 |
[inline-asm]No error for conflict between inputs\outputs and clobber list
Updated test according to commit 290539:
According to extended asm syntax, a case where the clobber list includes a variable from the inputs or outputs should be an error - conflict.
for example:
const long double a = 0.0;
int main()
{
char b;
double t1 = a;
__asm__ ("fucompp": "=a" (b) : "u" (t1), "t" (t1) : "cc", "st", "st(1)");
return 0;
}
This should conflict with the output - t1 which is st, and st which is st aswell.
The patch fixes it.
Commit on behald of Ziv Izhar.
Differential Revision: https://reviews.llvm.org/D15075
llvm-svn: 290540
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions