@@ -94,9 +94,7 @@ class MCAsmInfo {
94
94
// / constants into comdat sections.
95
95
bool HasCOFFComdatConstants = false ;
96
96
97
- // / True if this is an XCOFF target that supports visibility attributes as
98
- // / part of .global, .weak, .extern, and .comm. Default is false.
99
- bool HasVisibilityOnlyWithLinkage = false ;
97
+ bool IsAIX = false ;
100
98
101
99
// True if using the HLASM dialect on z/OS.
102
100
bool IsHLASM = false ;
@@ -202,10 +200,6 @@ class MCAsmInfo {
202
200
// / instead.
203
201
bool UseDataRegionDirectives = false ;
204
202
205
- // / True if .align is to be used for alignment. Only power-of-two
206
- // / alignment is supported.
207
- bool UseDotAlignForAlignment = false ;
208
-
209
203
// / True if the target supports LEB128 directives.
210
204
bool HasLEB128Directives = true ;
211
205
@@ -220,11 +214,6 @@ class MCAsmInfo {
220
214
// / "\t.zero\t"
221
215
const char *ZeroDirective;
222
216
223
- // / This should be set to true if the zero directive supports a value to emit
224
- // / other than zero. If this is set to false, the Data*bitsDirective's will be
225
- // / used to emit these bytes. Defaults to true.
226
- bool ZeroDirectiveSupportsNonZeroValue = true ;
227
-
228
217
// / This directive allows emission of an ascii string with the standard C
229
218
// / escape characters embedded into it. If a target doesn't support this, it
230
219
// / can be set to null. Defaults to "\t.ascii\t"
@@ -235,16 +224,6 @@ class MCAsmInfo {
235
224
// / doesn't support this, it can be set to null. Defaults to "\t.asciz\t"
236
225
const char *AscizDirective;
237
226
238
- // / This directive accepts a comma-separated list of bytes for emission as a
239
- // / string of bytes. For targets that do not support this, it shall be set to
240
- // / null. Defaults to null.
241
- const char *ByteListDirective = nullptr ;
242
-
243
- // / This directive allows emission of a zero-terminated ascii string without
244
- // / the standard C escape characters embedded into it. If a target doesn't
245
- // / support this, it can be set to null. Defaults to null.
246
- const char *PlainStringDirective = nullptr ;
247
-
248
227
// / Form used for character literals in the assembly syntax. Useful for
249
228
// / producing strings as byte lists. If a target does not use or support
250
229
// / this, it shall be set to ACLS_Unknown. Defaults to ACLS_Unknown.
@@ -325,16 +304,6 @@ class MCAsmInfo {
325
304
// / argument and how it is interpreted. Defaults to NoAlignment.
326
305
LCOMM::LCOMMType LCOMMDirectiveAlignmentType = LCOMM::NoAlignment;
327
306
328
- // / True if the target only has basename for .file directive. False if the
329
- // / target also needs the directory along with the basename. Defaults to true.
330
- bool HasBasenameOnlyForFileDirective = true ;
331
-
332
- // / True if the target represents string constants as mostly raw characters in
333
- // / paired double quotation with paired double quotation marks as the escape
334
- // / mechanism to represent a double quotation mark within the string. Defaults
335
- // / to false.
336
- bool HasPairedDoubleQuoteStringConstants = false ;
337
-
338
307
// True if the target allows .align directives on functions. This is true for
339
308
// most targets, so defaults to true.
340
309
bool HasFunctionAlignment = true ;
@@ -347,10 +316,6 @@ class MCAsmInfo {
347
316
// / for ELF targets. Defaults to true.
348
317
bool HasSingleParameterDotFile = true ;
349
318
350
- // / True if the target has a four strings .file directive, strings separated
351
- // / by comma. Defaults to false.
352
- bool HasFourStringsDotFile = false ;
353
-
354
319
// / True if the target has a .ident directive, this is true for ELF targets.
355
320
// / Defaults to false.
356
321
bool HasIdentDirective = false ;
@@ -417,10 +382,6 @@ class MCAsmInfo {
417
382
// / absolute difference.
418
383
bool DwarfFDESymbolsUseAbsDiff = false ;
419
384
420
- // / True if the target supports generating the DWARF line table through using
421
- // / the .loc/.file directives. Defaults to true.
422
- bool UsesDwarfFileAndLocDirectives = true ;
423
-
424
385
// / True if DWARF `.file directory' directive syntax is used by
425
386
// / default.
426
387
bool EnableDwarfFileDirectoryDefault = true ;
@@ -484,9 +445,6 @@ class MCAsmInfo {
484
445
// If true, use Motorola-style integers in Assembly (ex. $0ac).
485
446
bool UseMotorolaIntegers = false ;
486
447
487
- // If true, emit function descriptor symbol on AIX.
488
- bool NeedsFunctionDescriptors = false ;
489
-
490
448
public:
491
449
explicit MCAsmInfo ();
492
450
virtual ~MCAsmInfo ();
@@ -567,13 +525,11 @@ class MCAsmInfo {
567
525
568
526
// Accessors.
569
527
528
+ bool isAIX () const { return IsAIX; }
570
529
bool isHLASM () const { return IsHLASM; }
571
530
bool isMachO () const { return HasSubsectionsViaSymbols; }
572
531
bool hasCOFFAssociativeComdats () const { return HasCOFFAssociativeComdats; }
573
532
bool hasCOFFComdatConstants () const { return HasCOFFComdatConstants; }
574
- bool hasVisibilityOnlyWithLinkage () const {
575
- return HasVisibilityOnlyWithLinkage;
576
- }
577
533
578
534
// / Returns the maximum possible encoded instruction size in bytes. If \p STI
579
535
// / is null, this should be the maximum size for any subtarget.
@@ -630,23 +586,14 @@ class MCAsmInfo {
630
586
return UseDataRegionDirectives;
631
587
}
632
588
633
- bool useDotAlignForAlignment () const {
634
- return UseDotAlignForAlignment;
635
- }
636
-
637
589
bool hasLEB128Directives () const { return HasLEB128Directives; }
638
590
639
591
bool useFullRegisterNames () const { return PPCUseFullRegisterNames; }
640
592
void setFullRegisterNames (bool V) { PPCUseFullRegisterNames = V; }
641
593
642
594
const char *getZeroDirective () const { return ZeroDirective; }
643
- bool doesZeroDirectiveSupportNonZeroValue () const {
644
- return ZeroDirectiveSupportsNonZeroValue;
645
- }
646
595
const char *getAsciiDirective () const { return AsciiDirective; }
647
596
const char *getAscizDirective () const { return AscizDirective; }
648
- const char *getByteListDirective () const { return ByteListDirective; }
649
- const char *getPlainStringDirective () const { return PlainStringDirective; }
650
597
AsmCharLiteralSyntax characterLiteralSyntax () const {
651
598
return CharacterLiteralSyntax;
652
599
}
@@ -666,16 +613,9 @@ class MCAsmInfo {
666
613
return LCOMMDirectiveAlignmentType;
667
614
}
668
615
669
- bool hasBasenameOnlyForFileDirective () const {
670
- return HasBasenameOnlyForFileDirective;
671
- }
672
- bool hasPairedDoubleQuoteStringConstants () const {
673
- return HasPairedDoubleQuoteStringConstants;
674
- }
675
616
bool hasFunctionAlignment () const { return HasFunctionAlignment; }
676
617
bool hasDotTypeDotSizeDirective () const { return HasDotTypeDotSizeDirective; }
677
618
bool hasSingleParameterDotFile () const { return HasSingleParameterDotFile; }
678
- bool hasFourStringsDotFile () const { return HasFourStringsDotFile; }
679
619
bool hasIdentDirective () const { return HasIdentDirective; }
680
620
bool hasNoDeadStrip () const { return HasNoDeadStrip; }
681
621
const char *getWeakDirective () const { return WeakDirective; }
@@ -742,13 +682,7 @@ class MCAsmInfo {
742
682
return SupportsExtendedDwarfLocDirective;
743
683
}
744
684
745
- bool usesDwarfFileAndLocDirectives () const {
746
- return UsesDwarfFileAndLocDirectives;
747
- }
748
-
749
- bool needsDwarfSectionSizeInHeader () const {
750
- return DwarfSectionSizeRequired;
751
- }
685
+ bool usesDwarfFileAndLocDirectives () const { return !IsAIX; }
752
686
753
687
bool enableDwarfFileDirectoryDefault () const {
754
688
return EnableDwarfFileDirectoryDefault;
@@ -798,7 +732,6 @@ class MCAsmInfo {
798
732
bool shouldUseLogicalShr () const { return UseLogicalShr; }
799
733
800
734
bool hasMipsExpressions () const { return HasMipsExpressions; }
801
- bool needsFunctionDescriptors () const { return NeedsFunctionDescriptors; }
802
735
bool shouldUseMotorolaIntegers () const { return UseMotorolaIntegers; }
803
736
};
804
737
0 commit comments