| commit | 77a21dbad46d07404f165c5a49c815c3d9b9eedd | [log] [tgz] | 
|---|---|---|
| author | Marina Yatsina <marina.yatsina@intel.com> | Mon Jan 22 10:07:01 2018 +0000 | 
| committer | Marina Yatsina <marina.yatsina@intel.com> | Mon Jan 22 10:07:01 2018 +0000 | 
| tree | 110a32953c87abd6f5e425f6d40d1c09d51f055c | |
| parent | 0bf841ac2a7039afc2a5589c0735abbc5e263ac6 [diff] [blame] | 
Break false dependencies for POPCNT, LZCNT, TZCNT Add POPCNT, LZCNT, TZCNT to the list of instructions that have false dependency. Add a test to make sure BreakFalseDeps breaks the dependencies for these instructions. Update affected tests. This fixes bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 This is the final of multiple patches that fix this bugzilla. Most of the patches are intended at refactoring the existent code. Reviews of the refactoring done to enable this change: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40331 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 Differential Revision: https://reviews.llvm.org/D40334 Change-Id: If95cbf1a3f5c7dccff8f1b22ecb397542147303d llvm-svn: 323096
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp index 082a4f7..914f491 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp
@@ -329,6 +329,8 @@ HasSSEUnalignedMem = false; HasCmpxchg16b = false; UseLeaForSP = false; + HasPOPCNTFalseDeps = false; + HasLZCNTFalseDeps = false; HasFastVariableShuffle = false; HasFastPartialYMMorZMMWrite = false; HasFastGather = false;