improve optimization of invoke instructions:
authorNuno Lopes <nunoplopes@sapo.pt>
Mon, 25 Jun 2012 17:11:47 +0000 (17:11 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Mon, 25 Jun 2012 17:11:47 +0000 (17:11 +0000)
commit3769fe149bb47dfdaa8ac39b7a4c26cf98ec503e
tree3b6f81ade44460101257ea285f2fa1cafe3ea71e
parente8742d084c54e9cd230fa03d368f0fedac2106cb
improve optimization of invoke instructions:
 - simplifycfg:  invoke undef/null -> unreachable
 - instcombine:  invoke new  -> invoke expect(0, 0)  (an arbitrary NOOP intrinsic;  only done if the allocated memory is unused, of course)
 - verifier:  allow invoke of intrinsics  (to make the previous step work)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159146 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstructionCombining.cpp
lib/Transforms/Scalar/SimplifyCFGPass.cpp
lib/VMCore/Verifier.cpp
test/Transforms/InstCombine/objsize-64.ll
test/Transforms/SimplifyCFG/invoke.ll [new file with mode: 0644]