Add method for replacing instructions to LibCallSimplifier
authorMeador Inge <meadori@codesourcery.com>
Sun, 11 Nov 2012 03:51:43 +0000 (03:51 +0000)
committerMeador Inge <meadori@codesourcery.com>
Sun, 11 Nov 2012 03:51:43 +0000 (03:51 +0000)
commitb69bf6be1b042a5f06a623fc546107fc6d9f46c4
tree97d292bb4f422725e3fa00304a7e491f50c815d7
parent23280ffb90dd7107f866977e8444370590b84b15
Add method for replacing instructions to LibCallSimplifier

In some cases the library call simplifier may need to replace instructions
other than the library call being simplified.  In those cases it may be
necessary for clients of the simplifier to override how the replacements
are actually done.  As such, a new overrideable method for replacing
instructions was added to LibCallSimplifier.

A new subclass of LibCallSimplifier is also defined which overrides
the instruction replacement method.  This is because the instruction
combiner defines its own replacement method which updates the worklist
when instructions are replaced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167681 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/SimplifyLibCalls.h
lib/Transforms/InstCombine/InstructionCombining.cpp
lib/Transforms/Utils/SimplifyLibCalls.cpp