Skip to content

Commit c06aa2e

Browse files
committed
Revert "Reapply [MachO] Move getArchTriple impl... with fixes. (#161949)"
This reverts commit 5401210 while I further investigate bot failures. Apparently adding a dependence on BinaryFormat to Object was insufficient to fix the original linker issues.
1 parent 47361e7 commit c06aa2e

File tree

5 files changed

+163
-170
lines changed

5 files changed

+163
-170
lines changed

llvm/include/llvm/BinaryFormat/MachO.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
#include "llvm/Support/DataTypes.h"
1818
#include "llvm/Support/Error.h"
1919
#include "llvm/Support/SwapByteOrder.h"
20-
#include "llvm/TargetParser/Triple.h"
2120

2221
namespace llvm {
22+
23+
class Triple;
24+
2325
namespace MachO {
2426
// Enums from <mach-o/loader.h>
2527
enum : uint32_t {
@@ -1708,11 +1710,6 @@ LLVM_ABI Expected<uint32_t> getCPUSubType(const Triple &T,
17081710
unsigned PtrAuthABIVersion,
17091711
bool PtrAuthKernelABIVersion);
17101712

1711-
LLVM_ABI Triple::ArchType getArch(uint32_t CPUType, uint32_t CPUSubType);
1712-
LLVM_ABI Triple getArchTriple(uint32_t CPUType, uint32_t CPUSubType,
1713-
const char **McpuDefault = nullptr,
1714-
const char **ArchFlag = nullptr);
1715-
17161713
struct x86_thread_state32_t {
17171714
uint32_t eax;
17181715
uint32_t ebx;

llvm/include/llvm/Object/MachO.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -752,14 +752,10 @@ class LLVM_ABI MachOObjectFile : public ObjectFile {
752752
static StringRef guessLibraryShortName(StringRef Name, bool &isFramework,
753753
StringRef &Suffix);
754754

755-
static Triple::ArchType getArch(uint32_t CPUType, uint32_t CPUSubType) {
756-
return MachO::getArch(CPUType, CPUSubType);
757-
}
755+
static Triple::ArchType getArch(uint32_t CPUType, uint32_t CPUSubType);
758756
static Triple getArchTriple(uint32_t CPUType, uint32_t CPUSubType,
759757
const char **McpuDefault = nullptr,
760-
const char **ArchFlag = nullptr) {
761-
return MachO::getArchTriple(CPUType, CPUSubType, McpuDefault, ArchFlag);
762-
}
758+
const char **ArchFlag = nullptr);
763759
static bool isValidArch(StringRef ArchFlag);
764760
static ArrayRef<StringRef> getValidArchs();
765761
static Triple getHostArch();

llvm/lib/BinaryFormat/MachO.cpp

Lines changed: 0 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -123,160 +123,3 @@ Expected<uint32_t> MachO::getCPUSubType(const Triple &T,
123123
return CPU_SUBTYPE_ARM64E_WITH_PTRAUTH_VERSION(PtrAuthABIVersion,
124124
PtrAuthKernelABIVersion);
125125
}
126-
127-
Triple::ArchType MachO::getArch(uint32_t CPUType, uint32_t CPUSubType) {
128-
switch (CPUType) {
129-
case MachO::CPU_TYPE_I386:
130-
return Triple::x86;
131-
case MachO::CPU_TYPE_X86_64:
132-
return Triple::x86_64;
133-
case MachO::CPU_TYPE_ARM:
134-
return Triple::arm;
135-
case MachO::CPU_TYPE_ARM64:
136-
return Triple::aarch64;
137-
case MachO::CPU_TYPE_ARM64_32:
138-
return Triple::aarch64_32;
139-
case MachO::CPU_TYPE_POWERPC:
140-
return Triple::ppc;
141-
case MachO::CPU_TYPE_POWERPC64:
142-
return Triple::ppc64;
143-
default:
144-
return Triple::UnknownArch;
145-
}
146-
}
147-
148-
Triple MachO::getArchTriple(uint32_t CPUType, uint32_t CPUSubType,
149-
const char **McpuDefault, const char **ArchFlag) {
150-
if (McpuDefault)
151-
*McpuDefault = nullptr;
152-
if (ArchFlag)
153-
*ArchFlag = nullptr;
154-
155-
switch (CPUType) {
156-
case MachO::CPU_TYPE_I386:
157-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
158-
case MachO::CPU_SUBTYPE_I386_ALL:
159-
if (ArchFlag)
160-
*ArchFlag = "i386";
161-
return Triple("i386-apple-darwin");
162-
default:
163-
return Triple();
164-
}
165-
case MachO::CPU_TYPE_X86_64:
166-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
167-
case MachO::CPU_SUBTYPE_X86_64_ALL:
168-
if (ArchFlag)
169-
*ArchFlag = "x86_64";
170-
return Triple("x86_64-apple-darwin");
171-
case MachO::CPU_SUBTYPE_X86_64_H:
172-
if (ArchFlag)
173-
*ArchFlag = "x86_64h";
174-
return Triple("x86_64h-apple-darwin");
175-
default:
176-
return Triple();
177-
}
178-
case MachO::CPU_TYPE_ARM:
179-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
180-
case MachO::CPU_SUBTYPE_ARM_V4T:
181-
if (ArchFlag)
182-
*ArchFlag = "armv4t";
183-
return Triple("armv4t-apple-darwin");
184-
case MachO::CPU_SUBTYPE_ARM_V5TEJ:
185-
if (ArchFlag)
186-
*ArchFlag = "armv5e";
187-
return Triple("armv5e-apple-darwin");
188-
case MachO::CPU_SUBTYPE_ARM_XSCALE:
189-
if (ArchFlag)
190-
*ArchFlag = "xscale";
191-
return Triple("xscale-apple-darwin");
192-
case MachO::CPU_SUBTYPE_ARM_V6:
193-
if (ArchFlag)
194-
*ArchFlag = "armv6";
195-
return Triple("armv6-apple-darwin");
196-
case MachO::CPU_SUBTYPE_ARM_V6M:
197-
if (McpuDefault)
198-
*McpuDefault = "cortex-m0";
199-
if (ArchFlag)
200-
*ArchFlag = "armv6m";
201-
return Triple("armv6m-apple-darwin");
202-
case MachO::CPU_SUBTYPE_ARM_V7:
203-
if (ArchFlag)
204-
*ArchFlag = "armv7";
205-
return Triple("armv7-apple-darwin");
206-
case MachO::CPU_SUBTYPE_ARM_V7EM:
207-
if (McpuDefault)
208-
*McpuDefault = "cortex-m4";
209-
if (ArchFlag)
210-
*ArchFlag = "armv7em";
211-
return Triple("thumbv7em-apple-darwin");
212-
case MachO::CPU_SUBTYPE_ARM_V7K:
213-
if (McpuDefault)
214-
*McpuDefault = "cortex-a7";
215-
if (ArchFlag)
216-
*ArchFlag = "armv7k";
217-
return Triple("armv7k-apple-darwin");
218-
case MachO::CPU_SUBTYPE_ARM_V7M:
219-
if (McpuDefault)
220-
*McpuDefault = "cortex-m3";
221-
if (ArchFlag)
222-
*ArchFlag = "armv7m";
223-
return Triple("thumbv7m-apple-darwin");
224-
case MachO::CPU_SUBTYPE_ARM_V7S:
225-
if (McpuDefault)
226-
*McpuDefault = "cortex-a7";
227-
if (ArchFlag)
228-
*ArchFlag = "armv7s";
229-
return Triple("armv7s-apple-darwin");
230-
default:
231-
return Triple();
232-
}
233-
case MachO::CPU_TYPE_ARM64:
234-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
235-
case MachO::CPU_SUBTYPE_ARM64_ALL:
236-
if (McpuDefault)
237-
*McpuDefault = "cyclone";
238-
if (ArchFlag)
239-
*ArchFlag = "arm64";
240-
return Triple("arm64-apple-darwin");
241-
case MachO::CPU_SUBTYPE_ARM64E:
242-
if (McpuDefault)
243-
*McpuDefault = "apple-a12";
244-
if (ArchFlag)
245-
*ArchFlag = "arm64e";
246-
return Triple("arm64e-apple-darwin");
247-
default:
248-
return Triple();
249-
}
250-
case MachO::CPU_TYPE_ARM64_32:
251-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
252-
case MachO::CPU_SUBTYPE_ARM64_32_V8:
253-
if (McpuDefault)
254-
*McpuDefault = "cyclone";
255-
if (ArchFlag)
256-
*ArchFlag = "arm64_32";
257-
return Triple("arm64_32-apple-darwin");
258-
default:
259-
return Triple();
260-
}
261-
case MachO::CPU_TYPE_POWERPC:
262-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
263-
case MachO::CPU_SUBTYPE_POWERPC_ALL:
264-
if (ArchFlag)
265-
*ArchFlag = "ppc";
266-
return Triple("ppc-apple-darwin");
267-
default:
268-
return Triple();
269-
}
270-
case MachO::CPU_TYPE_POWERPC64:
271-
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
272-
case MachO::CPU_SUBTYPE_POWERPC_ALL:
273-
if (ArchFlag)
274-
*ArchFlag = "ppc64";
275-
return Triple("ppc64-apple-darwin");
276-
default:
277-
return Triple();
278-
}
279-
default:
280-
return Triple();
281-
}
282-
}

llvm/lib/Object/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ add_llvm_component_library(LLVMObject
4545

4646
LINK_COMPONENTS
4747
BitReader
48-
BinaryFormat
4948
Core
5049
MC
5150
IRReader

llvm/lib/Object/MachOObjectFile.cpp

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2685,6 +2685,164 @@ StringRef MachOObjectFile::getFileFormatName() const {
26852685
}
26862686
}
26872687

2688+
Triple::ArchType MachOObjectFile::getArch(uint32_t CPUType, uint32_t CPUSubType) {
2689+
switch (CPUType) {
2690+
case MachO::CPU_TYPE_I386:
2691+
return Triple::x86;
2692+
case MachO::CPU_TYPE_X86_64:
2693+
return Triple::x86_64;
2694+
case MachO::CPU_TYPE_ARM:
2695+
return Triple::arm;
2696+
case MachO::CPU_TYPE_ARM64:
2697+
return Triple::aarch64;
2698+
case MachO::CPU_TYPE_ARM64_32:
2699+
return Triple::aarch64_32;
2700+
case MachO::CPU_TYPE_POWERPC:
2701+
return Triple::ppc;
2702+
case MachO::CPU_TYPE_POWERPC64:
2703+
return Triple::ppc64;
2704+
default:
2705+
return Triple::UnknownArch;
2706+
}
2707+
}
2708+
2709+
Triple MachOObjectFile::getArchTriple(uint32_t CPUType, uint32_t CPUSubType,
2710+
const char **McpuDefault,
2711+
const char **ArchFlag) {
2712+
if (McpuDefault)
2713+
*McpuDefault = nullptr;
2714+
if (ArchFlag)
2715+
*ArchFlag = nullptr;
2716+
2717+
switch (CPUType) {
2718+
case MachO::CPU_TYPE_I386:
2719+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2720+
case MachO::CPU_SUBTYPE_I386_ALL:
2721+
if (ArchFlag)
2722+
*ArchFlag = "i386";
2723+
return Triple("i386-apple-darwin");
2724+
default:
2725+
return Triple();
2726+
}
2727+
case MachO::CPU_TYPE_X86_64:
2728+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2729+
case MachO::CPU_SUBTYPE_X86_64_ALL:
2730+
if (ArchFlag)
2731+
*ArchFlag = "x86_64";
2732+
return Triple("x86_64-apple-darwin");
2733+
case MachO::CPU_SUBTYPE_X86_64_H:
2734+
if (ArchFlag)
2735+
*ArchFlag = "x86_64h";
2736+
return Triple("x86_64h-apple-darwin");
2737+
default:
2738+
return Triple();
2739+
}
2740+
case MachO::CPU_TYPE_ARM:
2741+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2742+
case MachO::CPU_SUBTYPE_ARM_V4T:
2743+
if (ArchFlag)
2744+
*ArchFlag = "armv4t";
2745+
return Triple("armv4t-apple-darwin");
2746+
case MachO::CPU_SUBTYPE_ARM_V5TEJ:
2747+
if (ArchFlag)
2748+
*ArchFlag = "armv5e";
2749+
return Triple("armv5e-apple-darwin");
2750+
case MachO::CPU_SUBTYPE_ARM_XSCALE:
2751+
if (ArchFlag)
2752+
*ArchFlag = "xscale";
2753+
return Triple("xscale-apple-darwin");
2754+
case MachO::CPU_SUBTYPE_ARM_V6:
2755+
if (ArchFlag)
2756+
*ArchFlag = "armv6";
2757+
return Triple("armv6-apple-darwin");
2758+
case MachO::CPU_SUBTYPE_ARM_V6M:
2759+
if (McpuDefault)
2760+
*McpuDefault = "cortex-m0";
2761+
if (ArchFlag)
2762+
*ArchFlag = "armv6m";
2763+
return Triple("armv6m-apple-darwin");
2764+
case MachO::CPU_SUBTYPE_ARM_V7:
2765+
if (ArchFlag)
2766+
*ArchFlag = "armv7";
2767+
return Triple("armv7-apple-darwin");
2768+
case MachO::CPU_SUBTYPE_ARM_V7EM:
2769+
if (McpuDefault)
2770+
*McpuDefault = "cortex-m4";
2771+
if (ArchFlag)
2772+
*ArchFlag = "armv7em";
2773+
return Triple("thumbv7em-apple-darwin");
2774+
case MachO::CPU_SUBTYPE_ARM_V7K:
2775+
if (McpuDefault)
2776+
*McpuDefault = "cortex-a7";
2777+
if (ArchFlag)
2778+
*ArchFlag = "armv7k";
2779+
return Triple("armv7k-apple-darwin");
2780+
case MachO::CPU_SUBTYPE_ARM_V7M:
2781+
if (McpuDefault)
2782+
*McpuDefault = "cortex-m3";
2783+
if (ArchFlag)
2784+
*ArchFlag = "armv7m";
2785+
return Triple("thumbv7m-apple-darwin");
2786+
case MachO::CPU_SUBTYPE_ARM_V7S:
2787+
if (McpuDefault)
2788+
*McpuDefault = "cortex-a7";
2789+
if (ArchFlag)
2790+
*ArchFlag = "armv7s";
2791+
return Triple("armv7s-apple-darwin");
2792+
default:
2793+
return Triple();
2794+
}
2795+
case MachO::CPU_TYPE_ARM64:
2796+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2797+
case MachO::CPU_SUBTYPE_ARM64_ALL:
2798+
if (McpuDefault)
2799+
*McpuDefault = "cyclone";
2800+
if (ArchFlag)
2801+
*ArchFlag = "arm64";
2802+
return Triple("arm64-apple-darwin");
2803+
case MachO::CPU_SUBTYPE_ARM64E:
2804+
if (McpuDefault)
2805+
*McpuDefault = "apple-a12";
2806+
if (ArchFlag)
2807+
*ArchFlag = "arm64e";
2808+
return Triple("arm64e-apple-darwin");
2809+
default:
2810+
return Triple();
2811+
}
2812+
case MachO::CPU_TYPE_ARM64_32:
2813+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2814+
case MachO::CPU_SUBTYPE_ARM64_32_V8:
2815+
if (McpuDefault)
2816+
*McpuDefault = "cyclone";
2817+
if (ArchFlag)
2818+
*ArchFlag = "arm64_32";
2819+
return Triple("arm64_32-apple-darwin");
2820+
default:
2821+
return Triple();
2822+
}
2823+
case MachO::CPU_TYPE_POWERPC:
2824+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2825+
case MachO::CPU_SUBTYPE_POWERPC_ALL:
2826+
if (ArchFlag)
2827+
*ArchFlag = "ppc";
2828+
return Triple("ppc-apple-darwin");
2829+
default:
2830+
return Triple();
2831+
}
2832+
case MachO::CPU_TYPE_POWERPC64:
2833+
switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) {
2834+
case MachO::CPU_SUBTYPE_POWERPC_ALL:
2835+
if (ArchFlag)
2836+
*ArchFlag = "ppc64";
2837+
return Triple("ppc64-apple-darwin");
2838+
default:
2839+
return Triple();
2840+
}
2841+
default:
2842+
return Triple();
2843+
}
2844+
}
2845+
26882846
Triple MachOObjectFile::getHostArch() {
26892847
return Triple(sys::getDefaultTargetTriple());
26902848
}

0 commit comments

Comments
 (0)