This is an archive of the discontinued LLVM Phabricator instance.

Respect bound archs, even when they don't alter the toolchain.
ClosedPublic

Authored by jlebar on Jan 15 2016, 5:48 PM.

Details

Summary

It's possible to BindArch without changing the toolchain at all. For
example, armv7 and armv7s have exactly the same triple.

Therefore the code in the Driver that checks that we're not creating a
job for the same Action twice needs to consider (Action, Toolchain,
BoundArch) tuples.

Diff Detail

Repository
rL LLVM

Event Timeline

jlebar updated this revision to Diff 45061.Jan 15 2016, 5:48 PM
jlebar retitled this revision from to Respect bound archs, even when they don't alter the toolchain..
jlebar updated this object.
jlebar added a reviewer: tra.
jlebar added subscribers: cfe-commits, beanz, echristo.

Ultimately they probably shouldn't map to the same toolchain and we can use
that as a key. Looks OK for now though.

tra edited edge metadata.Jan 15 2016, 7:13 PM

Looks OK to me.
Perhaps BoundArch w/o toolchain is sufficient for the key as toolchain would be derived from it.

In D16250#328552, @tra wrote:

Looks OK to me.
Perhaps BoundArch w/o toolchain is sufficient for the key as toolchain would be derived from it.

Yeah, it might work, I wasn't convinced it was sound. The bound TC is derived from the original TC plus the arch -- that is, the arch isn't the only piece of info that goes into it. Dunno, once bitten twice shy.

Thank you for the reviews, and thanks again for your patience, Chris.

This revision was automatically updated to reflect the committed changes.