[llvm-commits] [llvm] r161232 - in /llvm/trunk: include/llvm/CodeGen/FastISel.h include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/FastISel.cpp lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp lib/Target/ARM/ARMFastISel.cpp lib/Target/ARM

Bob Wilson bob.wilson at apple.com
Fri Aug 3 09:43:50 PDT 2012


On Aug 2, 2012, at 10:16 PM, Bob Wilson <bob.wilson at apple.com> wrote:

> On Aug 2, 2012, at 9:59 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> 
>> On Thu, Aug 2, 2012 at 9:06 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>>> Author: bwilson
>>> Date: Thu Aug  2 23:06:28 2012
>>> New Revision: 161232
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=161232&view=rev
>>> Log:
>>> Fall back to selection DAG isel for calls to builtin functions.
>>> 
>>> Fast isel doesn't currently have support for translating builtin function
>>> calls to target instructions.  For embedded environments where the library
>>> functions are not available, this is a matter of correctness and not
>>> just optimization.  Most of this patch is just arranging to make the
>>> TargetLibraryInfo available in fast isel.  <rdar://problem/12008746>
>> 
>> This falls back to DAG-isel for any function recognized by
>> TargetLibraryInfo.  This is means that we can't use fast-isel to
>> select, for example, printf.  I'm slightly worried about the
>> compile-time performance impact.
> 
> I was hoping it wouldn't occur that often, but I might be wrong.  I'll keep an eye out for regressions.  If necessary, I could limit it to specific functions.

There were some regressions.  The largest were in MultiSource/Benchmarks/PAQ8p, which I see has a number of printf calls.  I'll try to speed it up.



More information about the llvm-commits mailing list