diff options
author | Quentin Colombet <qcolombet@apple.com> | 2015-08-06 18:44:34 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2015-08-06 18:44:34 +0000 |
commit | 6443cce233c5f08e41cb23616072c1764926a8c3 (patch) | |
tree | df9c50646ae82a1a7038653e90bb4a2db620f337 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
parent | 01101b7b5f215e40af0ad71495b32bb8508f4f07 (diff) | |
download | llvm-6443cce233c5f08e41cb23616072c1764926a8c3.zip llvm-6443cce233c5f08e41cb23616072c1764926a8c3.tar.gz llvm-6443cce233c5f08e41cb23616072c1764926a8c3.tar.bz2 |
[Reassociation] Fix miscompile for va_arg arguments.
iisUnmovableInstruction() had a list of instructions hardcoded which are
considered unmovable. The list lacked (at least) an entry for the va_arg
and cmpxchg instructions.
Fix this by introducing a new Instruction::mayBeMemoryDependent()
instead of maintaining another instruction list.
Patch by Matthias Braun <matze@braunis.de>.
Differential Revision: http://reviews.llvm.org/D11577
rdar://problem/22118647
llvm-svn: 244244
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions