Stubs out a TargetLoweringObjectFileXCOFF class, implementing only SelectSectionForGlobal for common symbols. Also adds an override of EmitGlobalVariable in PPCAIXAsmPrinter which adds a number of defensive errors and adds support for emitting common globals.
Please place these in order:
The common should indicate its scope as applying only to the current state of the implementation in LLVM (and not as a general statement on XCOFF).
Suggestion: Invalid or unhandled type for csect.
Is the ".text" here meant to be the XCOFF section name? If so, then the comment on line 33 could say ".bss" instead of "common" to be consistent.
This is true for the OS and not just LLVM: s/on/by/.
Add "for now".
Use cast unless if we are expecting the cast to possibly fail and passing NULL to SwitchSection is okay.
See comment above.
llvm::DataLayout has a non-trivial destructor. I advise against copying.
What is the intended difference between "d" and "comm"?