This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] 'K'-extension ordering
ClosedPublic

Authored by a4lg on Apr 23 2022, 10:54 PM.

Details

Summary

This commit adds 'K' to supported extension list (before 'J').
It makes "Zk*" extensions correctly placed before "Zv*" extensions.

Multi-letter "Z*" extensions are first ordered with the most closely
related alphabetical extension category ("IMAF..."). This is represented
in LLVM as AllStdExts' variable in llvm/lib/Support/RISCVISAInfo.cpp'.

However, it did not have 'k' making "Zk*" extensions not correctly ordered.

Diff Detail

Event Timeline

a4lg created this revision.Apr 23 2022, 10:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 23 2022, 10:54 PM
a4lg requested review of this revision.Apr 23 2022, 10:54 PM

LGTM, let me know if you need me to commit that.

a4lg added a comment.May 10 2022, 5:00 AM

Thanks.

It looks relaxed ordering will be appear soon but canonical ordering is needed for now.
I request for merge.

It looks relaxed ordering will be appear soon but canonical ordering is needed for now.

Even the -march is relaxed I believe we still need canonical ordering for ELF attribute emission and multi-lib search :)

kito-cheng accepted this revision.May 10 2022, 9:51 AM
This revision is now accepted and ready to land.May 10 2022, 9:51 AM
This revision was landed with ongoing or failed builds.May 10 2022, 9:52 AM
Closed by commit rG7fe0630fcb6d: [RISCV] 'K'-extension ordering (authored by a4lg, committed by kito-cheng). · Explain Why
This revision was automatically updated to reflect the committed changes.