diff options
| author | David Green <david.green@arm.com> | 2023-07-03 10:05:40 +0100 |
|---|---|---|
| committer | David Green <david.green@arm.com> | 2023-07-03 10:05:40 +0100 |
| commit | db32d11a386ed20bb44448e671a641cc895d65f8 (patch) | |
| tree | e7a9a97030241caafc7d8ddc7240d5d8a7d48fa6 /lldb/source/Plugins/ScriptInterpreter | |
| parent | 273600ccea914b1178df70dfbe8aa28d4ddea835 (diff) | |
| download | llvm-db32d11a386ed20bb44448e671a641cc895d65f8.zip llvm-db32d11a386ed20bb44448e671a641cc895d65f8.tar.gz llvm-db32d11a386ed20bb44448e671a641cc895d65f8.tar.bz2 | |
[Reassociate] Keep flags for more unchanged operations
Reassociation destroys nsw/nuw flags from BinOps that are changed. But if the
expression at the end of a tree that was altered, but didn't change itself,
the flags do not need to be removed. For example, if %a, %b and %c are
reassociated in
%x = add nsw i32 %a, %c
%y = add nsw i32 %x, %b
%z = add nsw i32 %y, %d
The value of %y and so add %y %d remains the same, and %z needn't drop the nsw
flags.
https://alive2.llvm.org/ce/z/_juAiV
Differential Revision: https://reviews.llvm.org/D154289
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter')
0 files changed, 0 insertions, 0 deletions
