Page MenuHomePhabricator

[NFC] Use EVT instead of bool for getSetCCInverse()
ClosedPublic

Authored by arichardson on Dec 2 2019, 11:56 AM.

Details

Summary

The use of a boolean isInteger flag (generally initialized using
VT.isInteger()) caused errors in our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project).

In our backend pointers use a separate ValueType (iFATPTR) and therefore
.isInteger() returns false. This means that getSetCCInverse() uses the
floating-point variant and generates incorrect code for us:
(void *)0x12033091e < (void *)0xffffffffffffffff would return false.

Committing this change will significantly reduce our merge conflicts
for each upstream merge.

Diff Detail

Event Timeline

arichardson created this revision.Dec 2 2019, 11:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 2 2019, 11:56 AM
bogner accepted this revision.Dec 9 2019, 2:44 PM

lgtm

This revision is now accepted and ready to land.Dec 9 2019, 2:44 PM
This revision was automatically updated to reflect the committed changes.