This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC][XCOFF] Create 8 and 16 byte aligned constant csects.
ClosedPublic

Authored by sfertile on May 25 2021, 10:48 AM.

Details

Summary

Fixes issue where late materialized constants can be more strictly aligned than their containing csect, whose alignment can't be updated after emitting the .csect asm directive. Add rodata csects for 8 and 16 byte aligned constants, and map constant to those csects based on their alignment.

Diff Detail

Event Timeline

sfertile created this revision.May 25 2021, 10:48 AM
sfertile requested review of this revision.May 25 2021, 10:48 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 25 2021, 10:48 AM
llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
2419

s/then/than/;

2426

Please fix formatting.

llvm/test/CodeGen/PowerPC/aix-rodata-align.ll
8

Would an XCOFF output case be reasonable to test here?

sfertile updated this revision to Diff 362830.Jul 29 2021, 11:27 AM

Spelling and formatting fixes, and added coverage for the XCOFF object writing.

sfertile marked 3 inline comments as done.Aug 5 2021, 1:19 PM
This revision is now accepted and ready to land.Aug 5 2021, 3:15 PM
This revision was landed with ongoing or failed builds.Aug 5 2021, 6:20 PM
This revision was automatically updated to reflect the committed changes.