Displaying 4 results from an estimated 4 matches for "ismergeableconst".
2014 Aug 28
4
[LLVMdev] How to tell whether a GlobalValue is user-defined
...require only symbols that start with 'l' or 'L'.
> Not sure what you mean here. What is "requiring”? Are we talking about this code in TargetLoweringObjectFileMachO::SelectSectionForGlobal()
I mean "the correspoinding symbol name will start with".
> if (Kind.isMergeableConst()) {
> if (Kind.isMergeableConst4())
> return FourByteConstantSection;
> if (Kind.isMergeableConst8())
> return EightByteConstantSection;
> if (Kind.isMergeableConst16())
> return SixteenByteConstantSection;
> }
>
> Can’t we just change the...
2014 Aug 27
2
[LLVMdev] How to tell whether a GlobalValue is user-defined
>> The literalN sections were developed long ago to support coalescing of
>> unnamed constants like 9.897 in source code for architectures that could not
>> embed large constants in instructions. The linker could knew how to break
>> up the section (e.g. __literal8 is always 8 byte chunks) and coalesce copies
>> by content.
>>
>> ~6 years ago we
2014 Aug 25
2
[LLVMdev] How to tell whether a GlobalValue is user-defined
...LoweringObjectFileImpl.cpp
> +++ b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
> @@ -667,12 +667,6 @@
> TargetLoweringObjectFileMachO::getSectionForConstant(SectionKind Kind,
> if (Kind.isDataRel() || Kind.isReadOnlyWithRel())
> return ConstDataSection;
>
> - if (Kind.isMergeableConst4())
> - return FourByteConstantSection;
> - if (Kind.isMergeableConst8())
> - return EightByteConstantSection;
> - if (Kind.isMergeableConst16())
> - return SixteenByteConstantSection;
> return ReadOnlySection; // .const
> }
>
>
>>
>> -Nick
>...
2013 Sep 25
1
[LLVMdev] arm64 / iOS support
...TT) {}
+ bool mayNeedRelaxation(const MCInst &) const { return false; }
+
+ virtual bool doesSectionRequireSymbols(const MCSection &Section) const {
+ SectionKind kind = Section.getKind();
+ return kind.isDataRel() || kind.isReadOnlyWithRel() || kind.isMetadata() ||
+ kind.isMergeableConst();
+ }
+
+ unsigned int getNumFixupKinds() const { return AArch64::NumTargetFixupKinds; }
+
+ bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value,
+ const MCRelaxableFragment *DF,
+ const MCAsmLayout &Layout) const {
+ r...