[llvm-commits] [PATCH] Execution domain support for VMOV and VLDR
Tim Northover
t.p.northover at gmail.com
Fri Aug 31 08:56:58 PDT 2012
Hi,
> But either way, the fact the the destination D-register is fully defined by
> the original instruction should be enough. You can check
> MI->definedRegister().
I'd basically come to the conclusion that a D-register <imp-use>
wasn't necessary if there was an <imp-def> (it's good to hear you
confirm it though!), but my question was more about the *source*. We'd
want to transform:
%S2<def> = VMOVS %S0<kill>, pred:14, pred:%noreg; %D1<imp-use,kill>,
%D1<imp-def>
into (implicits omitted and exactly where the %D0 is may be wrong in
this case. It's one of the sources):
%D1 = VEXT.32 %D1, %D0, 1, pred:14, pred:%noreg
%D1 = VEXT.32 %D1, %D1, 1, pred:14, pred:%noreg
Don't we have exactly the same dependency-chain problem with %D0 as
with %D1: we can't add it <undef> and we can't add it implicitly
unless we know it's live (i.e. locally, that it's already an
<imp-use>).
Or have I still misunderstood the situation?
Tim.
More information about the llvm-commits
mailing list