This is an archive of the discontinued LLVM Phabricator instance.

Update multiline.ll testcase to handle (ppc64le) .localentry directive
ClosedPublic

Authored by willschm on Jan 12 2015, 2:23 PM.

Details

Summary

The ppc64le platform will emit a .localentry directive. this is triggering a false-positive against a CHECK-NOT: .loc in multiline.ll as seen at
http://lab.llvm.org:8011/builders/ppc64le-clang/builds/1

<...>
<stdin>:31:2: error: CHECK-NOT: string occurred!
.localentry f2, .Ltmp1-.Ltmp0

/home/buildbots/ppc64le-clang/clang-ppc64le-1/llvm.src/test/DebugInfo/multiline.ll:17:14: note: CHECK-NOT: pattern specified here
; CHECK-NOT: .loc

I didn't see a clear way to call out ".localentry is OK" via check-not, so the change here is to add a simple "\n" to the check-not line.

Diff Detail

Repository
rL LLVM

Event Timeline

willschm updated this revision to Diff 18047.Jan 12 2015, 2:23 PM
willschm retitled this revision from to Update multiline.ll testcase to handle (ppc64le) .localentry directive.
willschm updated this object.
willschm edited the test plan for this revision. (Show Details)
willschm added reviewers: wschmidt, dblaikie.
willschm set the repository for this revision to rL LLVM.
willschm added a subscriber: Unknown Object (MLST).
dblaikie edited edge metadata.Jan 12 2015, 2:39 PM

I think {{$}} is a more idiomatic way to check for end of line (or at least
it is in that file) - I'm surprised \n works there, actually... but good to
know I guess.

Otherwise looks fine, please commit.

Actually, wait - the point of that NOT .loc is to check for any .loc
directive, which has arguments and stuff, so .loc{{$}} is too restrictive
and wouldn't catch other .locs

maybe CHECK-NOT: .loc{{ }}

to force the space? Does that work?

Actually, wait - the point of that NOT .loc is to check for any .loc
directive, which has arguments and stuff, so .loc{{$}} is too restrictive
and wouldn't catch other .locs

maybe CHECK-NOT: .loc{{ }}

to force the space? Does that work?

I'll investigate further. :-)

Is there a change I can make locally to force that check-not to fail, to ensure I don't silently break things?

willschm updated this revision to Diff 18093.Jan 13 2015, 10:03 AM
willschm edited edge metadata.

Using a space "{{ }}" as suggested does appear to work. (Local tests against powerpc64* and x86 both pass with this change).

dblaikie accepted this revision.Jan 13 2015, 10:09 AM
dblaikie edited edge metadata.

Great - thanks!

This revision is now accepted and ready to land.Jan 13 2015, 10:09 AM
This revision was automatically updated to reflect the committed changes.