1. [FPEnv] Fix chain handling regression after 04a8696 (details)
  2. [RISCV][NFC] Deduplicate Atomic Intrinsic Definitions (details)
Commit 81ee484484a0be59da8f749a9b4cf56bb8d37402 by ulrich.weigand
[FPEnv] Fix chain handling regression after 04a8696
Code in getRoot made the assumption that every node in PendingLoads must
always itself have a dependency on the current DAG root node.
After the changes in 04a8696, it turns out that this assumption no
longer holds true, causing wrong codegen in some cases (e.g. stores
after constrained FP intrinsics might get deleted).
To fix this, we now need to make sure that the TokenFactor created by
getRoot always includes the previous root, if there is no implicit
dependency already present.
The original getControlRoot code already has exactly this check, so this
patch simply reuses that code now for getRoot as well. This fixes the
NFC if no constrained FP intrinsic is present.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-alias.ll (diff)
Commit dee6e39c7561a8b733cc260738ff7ea3ae78ee0c by selliott
[RISCV][NFC] Deduplicate Atomic Intrinsic Definitions
Summary: This is a slight cleanup, to use multiclasses to avoid the
duplication between the different atomic intrinsic definitions. The
produced intrinsics are unchanged, they're just generated in a more
succinct way.
Reviewers: asb, luismarques, jrtc27
Reviewed By: luismarques, jrtc27
Subscribers: Jim, rbar, johnrusso, simoncook, sabuasal, niosHD,
kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01,
MartinMosbeck, brucehoult, the_o, rkruppe, jfb, PkmX, jocewei, psnobl,
benna, s.egerton, pzheng, sameer.abuasal, apazos, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/include/llvm/IR/ (diff)