[PATCH] D28915: [ExecutionDepsFix] Optimize instruction insertion
Keno Fischer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 19 13:23:22 PST 2017
loladiro created this revision.
In preparation for an upcoming commit (https://reviews.llvm.org/D28786) that will make
ExecutionDepsFix more agressive about inserting dependency breaking instructions,
teach ExecutionDepsFix to be smarter about inserting these instructions.
There are two aspects to this:
1. Recognize dependency breaking instructions and if there already is such an instruction, simply re-use it, rather than inserting a new one.
2. For undef reads, which register is used does not matter. Thus, if there is many such reads in close succession, we only need to insert one dependency breaking instruction for many such reads.
Note: This revision depends on https://reviews.llvm.org/D28759
https://reviews.llvm.org/D28915
Files:
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/ExecutionDepsFix.cpp
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86InstrInfo.h
test/CodeGen/X86/break-false-dep.ll
test/CodeGen/X86/known-bits-vector.ll
test/CodeGen/X86/vec_int_to_fp.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28915.85018.patch
Type: text/x-patch
Size: 15408 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170119/faa0a068/attachment.bin>
More information about the llvm-commits
mailing list