Introduce a pass to insert vzeroupper instructions to avoid AVX to
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Tue, 23 Aug 2011 01:14:17 +0000 (01:14 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Tue, 23 Aug 2011 01:14:17 +0000 (01:14 +0000)
commit3bde6fe0df05558b89e7edfe48ac05da59beb81a
tree011a10aa34d5fb2d2afa5786803bd3f240a9d2a7
parent7e99b5c8a36e3e8d611e47122f9c596b58ccf3e8
Introduce a pass to insert vzeroupper instructions to avoid AVX to
SSE transition penalty. The pass is enabled through the "x86-use-vzeroupper"
llc command line option. This is only the first step (very naive and
conservative one) to sketch out the idea, but proper DFA is coming next
to allow smarter decisions. Comments and ideas now and in further commits
will be very appreciated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138317 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/CMakeLists.txt
lib/Target/X86/X86.h
lib/Target/X86/X86TargetMachine.cpp
lib/Target/X86/X86VZeroUpper.cpp [new file with mode: 0644]
test/CodeGen/X86/avx-vzeroupper.ll [new file with mode: 0644]