[PATCH] D28786: [ExecutionDepsFix] Kill clearance at function calls
Marina Yatsina via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 17 05:48:26 PST 2017
myatsina added inline comments.
================
Comment at: lib/CodeGen/ExecutionDepsFix.cpp:491
+ // We have no idea which registers the callee may use.
+ if (MI->isCall()) {
+ for (unsigned i = 0, e = NumRegs; i != e; ++i)
----------------
Isn't it enough to do this only in the primary pass?
================
Comment at: lib/CodeGen/ExecutionDepsFix.cpp:646
+ // We will make two passes through the list of undef regs. The first
+ // (backward) to determine legality of inserting the dependency breaking
----------------
Better not mix 2 different issues in one patch, so please separate this optimization (and the related pickBestRegisterForUndef changes) to another review with a dedicated test.
Please also upload here a patch (+test) that relate just to the "call" clearance calculation.
================
Comment at: test/CodeGen/X86/break-false-dep.ll:313
%nextj = add i64 %phi_j, 1
+;AVX-LABEL:@loopclearance2
; Register use, plus us clobbering 7-15 above, basically forces xmm7 here as
----------------
Isn't this suppose to be part of the https://reviews.llvm.org/D28759 patch?
https://reviews.llvm.org/D28786
More information about the llvm-commits
mailing list