[PATCH] D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default
Juneyoung Lee via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 1 20:53:09 PDT 2021
aqjune added a comment.
I am not familiar with inline assembly, but it seems the output variable (`%0`) is not updated because it does not appear in the code.
1382 __asm__ __volatile__(
1383 "mov x0,x2\n" /* flags */
1384 "mov x2,x4\n" /* ptid */
1385 "mov x3,x5\n" /* tls */
1386 "mov x4,x6\n" /* ctid */
1387 "mov x8,%9\n" /* clone */
1388
1389 "svc 0x0\n"
1390
1391 /* if (%r0 != 0)
1392 * return %r0;
1393 */
1394 "cmp x0, #0\n"
1395 "bne 1f\n"
1396
1397 /* In the child, now. Call "fn(arg)". */
1398 "ldp x1, x0, [sp], #16\n"
1399 "blr x1\n"
1400
1401 /* Call _exit(%r0). */
1402 "mov x8, %10\n"
1403 "svc 0x0\n"
1404 "1:\n"
1405
1406 : "=r" (res)
1407 : "i"(-EINVAL),
1408 "r"(__fn), "r"(__stack), "r"(__flags), "r"(__arg),
1409 "r"(__ptid), "r"(__tls), "r"(__ctid),
1410 "i"(__NR_clone), "i"(__NR_exit)
1411 : "x30", "memory");
Should `%0` be updated?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105169/new/
https://reviews.llvm.org/D105169
More information about the cfe-commits
mailing list