[llvm] r239084 - MC: Remove obsolete MachO UseAggressiveSymbolFolding.
Rafael EspĂndola
rafael.espindola at gmail.com
Thu Jun 4 14:46:53 PDT 2015
Nice :-)
On 4 June 2015 at 16:27, Jim Grosbach <grosbach at apple.com> wrote:
> Author: grosbach
> Date: Thu Jun 4 15:27:42 2015
> New Revision: 239084
>
> URL: http://llvm.org/viewvc/llvm-project?rev=239084&view=rev
> Log:
> MC: Remove obsolete MachO UseAggressiveSymbolFolding.
>
> Fix the FIXME and remove this old as(1) compat option. It was useful for
> bringup of the integrated assembler to diff object files, but now it's
> just causing more relocations than strictly necessary to be generated.
>
> rdar://21201804
>
> Modified:
> llvm/trunk/include/llvm/MC/MCMachObjectWriter.h
> llvm/trunk/lib/MC/MCMachObjectTargetWriter.cpp
> llvm/trunk/lib/MC/MachObjectWriter.cpp
> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
> llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
> llvm/trunk/test/MC/MachO/absolutize.s
> llvm/trunk/test/MC/MachO/reloc-diff.s
>
> Modified: llvm/trunk/include/llvm/MC/MCMachObjectWriter.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCMachObjectWriter.h?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/MCMachObjectWriter.h (original)
> +++ llvm/trunk/include/llvm/MC/MCMachObjectWriter.h Thu Jun 4 15:27:42 2015
> @@ -27,15 +27,11 @@ class MCMachObjectTargetWriter {
> const unsigned Is64Bit : 1;
> const uint32_t CPUType;
> const uint32_t CPUSubtype;
> - // FIXME: Remove this, we should just always use it once we no longer care
> - // about Darwin 'as' compatibility.
> - const unsigned UseAggressiveSymbolFolding : 1;
> unsigned LocalDifference_RIT;
>
> protected:
> MCMachObjectTargetWriter(bool Is64Bit_, uint32_t CPUType_,
> - uint32_t CPUSubtype_,
> - bool UseAggressiveSymbolFolding_ = false);
> + uint32_t CPUSubtype_);
>
> void setLocalDifferenceRelocationType(unsigned Type) {
> LocalDifference_RIT = Type;
> @@ -55,7 +51,6 @@ public:
> /// @{
>
> bool is64Bit() const { return Is64Bit; }
> - bool useAggressiveSymbolFolding() const { return UseAggressiveSymbolFolding; }
> uint32_t getCPUType() const { return CPUType; }
> uint32_t getCPUSubtype() const { return CPUSubtype; }
> unsigned getLocalDifferenceRelocationType() const {
>
> Modified: llvm/trunk/lib/MC/MCMachObjectTargetWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCMachObjectTargetWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCMachObjectTargetWriter.cpp (original)
> +++ llvm/trunk/lib/MC/MCMachObjectTargetWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -11,12 +11,9 @@
>
> using namespace llvm;
>
> -MCMachObjectTargetWriter::MCMachObjectTargetWriter(
> - bool Is64Bit_, uint32_t CPUType_, uint32_t CPUSubtype_,
> - bool UseAggressiveSymbolFolding_)
> - : Is64Bit(Is64Bit_), CPUType(CPUType_), CPUSubtype(CPUSubtype_),
> - UseAggressiveSymbolFolding(UseAggressiveSymbolFolding_) {
> -}
> +MCMachObjectTargetWriter::MCMachObjectTargetWriter(bool Is64Bit_,
> + uint32_t CPUType_,
> + uint32_t CPUSubtype_)
> + : Is64Bit(Is64Bit_), CPUType(CPUType_), CPUSubtype(CPUSubtype_) {}
>
> -MCMachObjectTargetWriter::~MCMachObjectTargetWriter() {
> -}
> +MCMachObjectTargetWriter::~MCMachObjectTargetWriter() {}
>
> Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MachObjectWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
> +++ llvm/trunk/lib/MC/MachObjectWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -703,9 +703,6 @@ bool MachObjectWriter::IsSymbolRefDiffer
> SA.isTemporary() && SA.isInSection() && &SecA == &SecB){
> return true;
> }
> - } else {
> - if (!TargetObjectWriter->useAggressiveSymbolFolding())
> - return false;
> }
>
> // If they are not in the same section, we can't compute the diff.
>
> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -31,8 +31,7 @@ class AArch64MachObjectWriter : public M
>
> public:
> AArch64MachObjectWriter(uint32_t CPUType, uint32_t CPUSubtype)
> - : MCMachObjectTargetWriter(true /* is64Bit */, CPUType, CPUSubtype,
> - /*UseAggressiveSymbolFolding=*/true) {}
> + : MCMachObjectTargetWriter(true /* is64Bit */, CPUType, CPUSubtype) {}
>
> void RecordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
> const MCAsmLayout &Layout, const MCFragment *Fragment,
>
> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -49,10 +49,8 @@ class ARMMachObjectWriter : public MCMac
> const MCSymbol &S, uint64_t FixedValue);
>
> public:
> - ARMMachObjectWriter(bool Is64Bit, uint32_t CPUType,
> - uint32_t CPUSubtype)
> - : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype,
> - /*UseAggressiveSymbolFolding=*/true) {}
> + ARMMachObjectWriter(bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
> + : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype) {}
>
> void RecordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
> const MCAsmLayout &Layout, const MCFragment *Fragment,
>
> Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -38,8 +38,7 @@ class PPCMachObjectWriter : public MCMac
>
> public:
> PPCMachObjectWriter(bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
> - : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype,
> - /*UseAggressiveSymbolFolding=*/Is64Bit) {}
> + : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype) {}
>
> void RecordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
> const MCAsmLayout &Layout, const MCFragment *Fragment,
>
> Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp (original)
> +++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp Thu Jun 4 15:27:42 2015
> @@ -54,10 +54,8 @@ class X86MachObjectWriter : public MCMac
> MCValue Target, uint64_t &FixedValue);
>
> public:
> - X86MachObjectWriter(bool Is64Bit, uint32_t CPUType,
> - uint32_t CPUSubtype)
> - : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype,
> - /*UseAggressiveSymbolFolding=*/Is64Bit) {}
> + X86MachObjectWriter(bool Is64Bit, uint32_t CPUType, uint32_t CPUSubtype)
> + : MCMachObjectTargetWriter(Is64Bit, CPUType, CPUSubtype) {}
>
> void RecordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
> const MCAsmLayout &Layout, const MCFragment *Fragment,
>
> Modified: llvm/trunk/test/MC/MachO/absolutize.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/absolutize.s?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/MachO/absolutize.s (original)
> +++ llvm/trunk/test/MC/MachO/absolutize.s Thu Jun 4 15:27:42 2015
> @@ -6,9 +6,9 @@ _text_b:
> xorl %eax,%eax
> Ltext_c:
> xorl %eax,%eax
> -Ltext_d:
> +Ltext_d:
> xorl %eax,%eax
> -
> +
> movl $(_text_a - _text_b), %eax
> Ltext_expr_0 = _text_a - _text_b
> movl $(Ltext_expr_0), %eax
> @@ -30,9 +30,9 @@ _data_b:
> .long 0
> Ldata_c:
> .long 0
> -Ldata_d:
> +Ldata_d:
> .long 0
> -
> +
> .long _data_a - _data_b
> Ldata_expr_0 = _data_a - _data_b
> .long Ldata_expr_0
> @@ -75,7 +75,7 @@ Ldata_expr_2 = Ldata_d - Ldata_c
> // CHECK: ('offset', 324)
> // CHECK: ('alignment', 0)
> // CHECK: ('reloc_offset', 412)
> -// CHECK: ('num_reloc', 7)
> +// CHECK: ('num_reloc', 3)
> // CHECK: ('flags', 0x80000400)
> // CHECK: ('reserved1', 0)
> // CHECK: ('reserved2', 0)
> @@ -85,21 +85,9 @@ Ldata_expr_2 = Ldata_d - Ldata_c
> // CHECK: (('word-0', 0xa0000027),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 1
> -// CHECK: (('word-0', 0xa400001d),
> -// CHECK: ('word-1', 0x6)),
> -// CHECK: # Relocation 2
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x4)),
> -// CHECK: # Relocation 3
> -// CHECK: (('word-0', 0xa4000013),
> -// CHECK: ('word-1', 0x4)),
> -// CHECK: # Relocation 4
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x2)),
> -// CHECK: # Relocation 5
> // CHECK: (('word-0', 0xa4000009),
> // CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 6
> +// CHECK: # Relocation 2
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x2)),
> // CHECK: ])
> @@ -111,8 +99,8 @@ Ldata_expr_2 = Ldata_d - Ldata_c
> // CHECK: ('size', 44)
> // CHECK: ('offset', 367)
> // CHECK: ('alignment', 0)
> -// CHECK: ('reloc_offset', 468)
> -// CHECK: ('num_reloc', 7)
> +// CHECK: ('reloc_offset', 436)
> +// CHECK: ('num_reloc', 3)
> // CHECK: ('flags', 0x0)
> // CHECK: ('reserved1', 0)
> // CHECK: ('reserved2', 0)
> @@ -122,21 +110,9 @@ Ldata_expr_2 = Ldata_d - Ldata_c
> // CHECK: (('word-0', 0xa0000028),
> // CHECK: ('word-1', 0x2b)),
> // CHECK: # Relocation 1
> -// CHECK: (('word-0', 0xa4000020),
> -// CHECK: ('word-1', 0x37)),
> -// CHECK: # Relocation 2
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x33)),
> -// CHECK: # Relocation 3
> -// CHECK: (('word-0', 0xa4000018),
> -// CHECK: ('word-1', 0x33)),
> -// CHECK: # Relocation 4
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x2f)),
> -// CHECK: # Relocation 5
> // CHECK: (('word-0', 0xa4000010),
> // CHECK: ('word-1', 0x2b)),
> -// CHECK: # Relocation 6
> +// CHECK: # Relocation 2
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x2f)),
> // CHECK: ])
> @@ -146,9 +122,9 @@ Ldata_expr_2 = Ldata_d - Ldata_c
> // CHECK: # Load Command 1
> // CHECK: (('command', 2)
> // CHECK: ('size', 24)
> -// CHECK: ('symoff', 524)
> +// CHECK: ('symoff', 460)
> // CHECK: ('nsyms', 4)
> -// CHECK: ('stroff', 572)
> +// CHECK: ('stroff', 508)
> // CHECK: ('strsize', 36)
> // CHECK: ('_string_data', '\x00_text_b\x00_data_b\x00_text_a\x00_data_a\x00\x00\x00\x00')
> // CHECK: ('_symbols', [
>
> Modified: llvm/trunk/test/MC/MachO/reloc-diff.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/reloc-diff.s?rev=239084&r1=239083&r2=239084&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/MachO/reloc-diff.s (original)
> +++ llvm/trunk/test/MC/MachO/reloc-diff.s Thu Jun 4 15:27:42 2015
> @@ -1,39 +1,27 @@
> // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s
>
> // CHECK: # Relocation 0
> -// CHECK: (('word-0', 0xa2000014),
> +// CHECK: (('word-0', 0xa4000010),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 1
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 2
> -// CHECK: (('word-0', 0xa4000010),
> +// CHECK: (('word-0', 0xa4000008),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 3
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 4
> -// CHECK: (('word-0', 0xa400000c),
> +// CHECK: (('word-0', 0xa4000004),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 5
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x0)),
> // CHECK: # Relocation 6
> -// CHECK: (('word-0', 0xa4000008),
> -// CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 7
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 8
> -// CHECK: (('word-0', 0xa4000004),
> -// CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 9
> -// CHECK: (('word-0', 0xa1000000),
> -// CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 10
> // CHECK: (('word-0', 0xa2000000),
> // CHECK: ('word-1', 0x0)),
> -// CHECK: # Relocation 11
> +// CHECK: # Relocation 7
> // CHECK: (('word-0', 0xa1000000),
> // CHECK: ('word-1', 0x0)),
> // CHECK-NEXT: ])
> @@ -43,7 +31,7 @@ _local_def:
> _external_def:
> Ltemp:
> ret
> -
> +
> .data
> .long _external_def - _local_def
> .long Ltemp - _local_def
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list