[llvm-commits] [llvm] r99345 - in /llvm/trunk/lib/Target/X86: CMakeLists.txt SSEDomainFix.cpp X86.h X86InstrInfo.cpp X86InstrInfo.h X86TargetMachine.cpp X86TargetMachine.h

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Mar 24 07:37:44 PDT 2010


On Mar 24, 2010, at 2:15 AM, Anton Korobeynikov wrote:

> Hi, Jakob
> 
>> Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.
>> 
>> This is work in progress. So far, SSE execution domain tables are added to
>> X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix.
> We will need same for ARM: VFP vs NEON. Is it possible to generalize
> this pass somehow?

Good point.

We already have the NEONMoveFix pass, but it may be possible to generalize.

I need something a bit more fancy for SSE since there are more polymorphic instructions than just a single move, and often it is necessary to twiddle the defining instruction to make a late user happy.

I'll write the SSE specific pass first so I can work out the requirements, but I'll keep this in mind, and generalize later, if possible.

Thanks,
/jakob





More information about the llvm-commits mailing list