[PATCH] [X86] Break false dependencies before partial register updates when the source operand is in memory

Michael Kuperstein michael.m.kuperstein at intel.com
Sun Dec 14 03:22:20 PST 2014


Regarding break-sse-dep vs. sse-domains, there are actually 3 different things going on:

1. Avoiding load-folding that creates false dependencies.
2. Avoiding domain crossing.
3. Breaking false dependencies that are already present in the code.

Before this patch, break-sse-dep.ll checked (1), and sse-domains.ll checked (2) and (3), and I've added another test checking (3) into sse-domains.
Do you think it's worth moving (3) together with (1) instead?


================
Comment at: test/CodeGen/X86/break-sse-dep.ll:18
@@ -17,3 +17,3 @@
 ; CHECK-LABEL: t2:
 ; CHECK: cvtsd2ss ([[A0]]), %xmm0
   %0 = load double* %x, align 8
----------------
RKSimon wrote:
> Should cvtsd2ss be folded?
Yes, the optsize versions should be folded.
(The test is equivalent to t1 except for the optsize attribute).

http://reviews.llvm.org/D6620

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list