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

Repository
rL LLVM

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.