[llvm-commits] [llvm] r76982 - in /llvm/trunk: include/llvm/Transforms/IPO/InlinerPass.h lib/Transforms/IPO/Inliner.cpp lib/Transforms/Scalar/DeadStoreElimination.cpp lib/Transforms/Scalar/JumpThreading.cpp lib/Transforms/Scalar/SimplifyHalfPowrL

Eli Friedman eli.friedman at gmail.com
Fri Jul 24 11:41:46 PDT 2009


On Fri, Jul 24, 2009 at 11:28 AM, Duncan Sands<baldrick at free.fr> wrote:
> Hi Dan,
>
>> Convert several more passes to use getAnalysisIfAvailable<TargetData>()
>> instead of getAnalysis<TargetData>().
>>
>> Modified:
>>     llvm/trunk/include/llvm/Transforms/IPO/InlinerPass.h
>>     llvm/trunk/lib/Transforms/IPO/Inliner.cpp
>>     llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp
>>     llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp
>>     llvm/trunk/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
>
> suppose I have some bitcode that contains target data in it.
> If I run "opt -inline" on it, will the target information be
> used?  Since the inliner no longer requires target data, maybe
> the TargetData pass won't be run at all, causing
>   getAnalysisIfAvailable<TargetData>() to return NULL, and
> target data not to be used even though present in the bitcode.

AFAIK, opt will unconditionally add TargetData, whether or not a
target is specified in the bitcode file.

-Eli




More information about the llvm-commits mailing list