This is an archive of the discontinued LLVM Phabricator instance.

[LLD][ELF][AArch64] Add test cases for load/store exclusive instructions [NFC]
ClosedPublic

Authored by peter.smith on Jul 2 2018, 9:54 AM.

Details

Summary

The AArch64 -fix-cortex-a53-843419 is missing a test case for the load and store exclusive instructions. This was leading to a function not being covered in the codebase. This change adds two new instruction sequences to be recognised as an instance of the erratum, one with a load exclusive the other with a store exclusive.

This will add coverage for:

static bool isV8NonStructureLoad(uint32_t Instr) {
  if (isLoadExclusive(Instr))
    return true;

As well as the test more thoroughly the isLoadStoreExclusive() function. The effect of adding the new tests has the unfortunate side-effect of altering the relative offsets of the branches so I've needed to update the other tests to account for it.

Diff Detail

Event Timeline

peter.smith created this revision.Jul 2 2018, 9:54 AM
grimar accepted this revision.Jul 2 2018, 10:41 AM

LGTM, I confirm that line is now covered. Thanks, Peter!

This revision is now accepted and ready to land.Jul 2 2018, 10:41 AM
This revision was automatically updated to reflect the committed changes.