[llvm] [SystemZ][z/OS] Implement executePostLayoutBinding for GOFFObjectWriter (PR #67868)
Kevin P. Neal via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 10 11:10:35 PDT 2023
================
@@ -18,10 +18,50 @@
namespace llvm {
class MCSymbolGOFF : public MCSymbol {
+ Align Alignment;
+ enum SymbolFlags : uint16_t {
+ SF_NoRent = 0x01, // Symbol is no-reentrant.
+ SF_Alias = 0x02, // Symbol is alias.
+ SF_Hidden = 0x04, // Symbol is hidden, aka not exported.
+ SF_Weak = 0x08, // Symbol is weak.
+ };
+
+ enum {
+ // Shift value for GOFF::ESDExecutable. 3 possible values. 2 bits.
+ GOFF_Executable_Shift = 6,
+ GOFF_Executable_Bitmask = 0x3,
+ };
+
public:
MCSymbolGOFF(const StringMapEntry<bool> *Name, bool IsTemporary)
: MCSymbol(SymbolKindGOFF, Name, IsTemporary) {}
static bool classof(const MCSymbol *S) { return S->isGOFF(); }
+
+ void setAlignment(Align Value) { Alignment = Value; }
----------------
kpneal wrote:
How large is Align? I think it's only a few bytes in size. If it's about the size of, or smaller than, a pointer then there's no benefit to passing it by reference.
https://github.com/llvm/llvm-project/pull/67868
More information about the llvm-commits
mailing list