This is an archive of the discontinued LLVM Phabricator instance.

[X86] Add missing memory variants to AVX false dependency breaking
ClosedPublic

Authored by mkuper on Dec 25 2014, 3:57 AM.

Details

Summary

Adds missing memory instruction variants to AVX false dependency breaking handling. (SSE was handed in a previous commit)

I've also merged the AVX and SSE tests for this - it doesn't really make sense for them to be separate, since the same thing is being tested, and at least some test-cases can be the same.

Diff Detail

Event Timeline

mkuper updated this revision to Diff 17633.Dec 25 2014, 3:57 AM
mkuper retitled this revision from to [X86] Add missing memory variants to AVX false dependency breaking.
mkuper updated this object.
mkuper edited the test plan for this revision. (Show Details)
mkuper added reviewers: atrick, RKSimon.
mkuper added a subscriber: Unknown Object (MLST).
RKSimon edited edge metadata.Dec 26 2014, 3:19 AM

Minor proposed changes (sqrtsd and missing tests).

lib/Target/X86/X86InstrInfo.cpp
4592–4593

Please can you add the VSQRTSD versions?

test/CodeGen/X86/break-false-dep.ll
4

For thoroughness would it not make sense to ensure all the relevant tests check both SSE and AVX passes?

mkuper updated this revision to Diff 17651.Dec 28 2014, 12:52 AM
mkuper edited edge metadata.

Thanks, Simon!

Added VSQRTSD.
Regarding tests - only some of the tests are relevant due to the differences between SSE and AVX here. Updated.

RKSimon accepted this revision.Dec 28 2014, 4:12 AM
RKSimon edited edge metadata.

Thanks Michael, LGTM

This revision is now accepted and ready to land.Dec 28 2014, 4:12 AM
This revision was automatically updated to reflect the committed changes.
test/CodeGen/X86/break-false-dep.ll