[PATCH] D60298: Fix a hang when lowering __builtin_dynamic_object_size
Erik Pilkington via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 4 17:43:18 PDT 2019
erik.pilkington created this revision.
erik.pilkington added reviewers: jfb, george.burgess.iv, ahatanak.
Herald added subscribers: dexonsmith, jkorous, hiraditya.
Herald added a project: LLVM.
If the ObjectSizeOffsetEvaluator fails to fold the object size call, then it may litter some unused instructions in the function. When done repeatably in InstCombine, this results in an infinite loop. Fix this by tracking the set of instructions that were inserted, then removing them on failure.
Fixes rdar://49172227
Thanks!
Erik
Repository:
rL LLVM
https://reviews.llvm.org/D60298
Files:
llvm/include/llvm/Analysis/MemoryBuiltins.h
llvm/lib/Analysis/MemoryBuiltins.cpp
llvm/test/Instrumentation/BoundsChecking/phi.ll
llvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60298.193815.patch
Type: text/x-patch
Size: 5235 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190405/4522a634/attachment.bin>
More information about the llvm-commits
mailing list