Skip to content

Commit 90cc9ca

Browse files
iajbartstellar
authored andcommitted
[Hexagon] Set the default compilation target to V68 (llvm#125239)
Set the default compilation target to V68 if no Hexagon processor is specified at the command-line. Add the elf header changes for v81/v83/v85 architectures. (cherry picked from commit 759ef58)
1 parent 3e2801e commit 90cc9ca

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

clang/lib/Driver/ToolChains/Hexagon.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -803,9 +803,7 @@ bool HexagonToolChain::isAutoHVXEnabled(const llvm::opt::ArgList &Args) {
803803
// Returns the default CPU for Hexagon. This is the default compilation target
804804
// if no Hexagon processor is selected at the command-line.
805805
//
806-
StringRef HexagonToolChain::GetDefaultCPU() {
807-
return "hexagonv60";
808-
}
806+
StringRef HexagonToolChain::GetDefaultCPU() { return "hexagonv68"; }
809807

810808
StringRef HexagonToolChain::GetTargetCPUVersion(const ArgList &Args) {
811809
Arg *CpuArg = nullptr;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// CHECK: "-target-cpu" "hexagonv68"
2+
3+
// RUN: %clang -c %s -### --target=hexagon-unknown-elf \
4+
// RUN: 2>&1 | FileCheck %s

llvm/include/llvm/BinaryFormat/ELF.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,7 @@ enum {
619619
EF_HEXAGON_MACH_V5 = 0x00000004, // Hexagon V5
620620
EF_HEXAGON_MACH_V55 = 0x00000005, // Hexagon V55
621621
EF_HEXAGON_MACH_V60 = 0x00000060, // Hexagon V60
622+
EF_HEXAGON_MACH_V61 = 0x00000061, // Hexagon V61
622623
EF_HEXAGON_MACH_V62 = 0x00000062, // Hexagon V62
623624
EF_HEXAGON_MACH_V65 = 0x00000065, // Hexagon V65
624625
EF_HEXAGON_MACH_V66 = 0x00000066, // Hexagon V66
@@ -630,7 +631,11 @@ enum {
630631
EF_HEXAGON_MACH_V71T = 0x00008071, // Hexagon V71T
631632
EF_HEXAGON_MACH_V73 = 0x00000073, // Hexagon V73
632633
EF_HEXAGON_MACH_V75 = 0x00000075, // Hexagon V75
634+
EF_HEXAGON_MACH_V77 = 0x00000077, // Hexagon V77
633635
EF_HEXAGON_MACH_V79 = 0x00000079, // Hexagon V79
636+
EF_HEXAGON_MACH_V81 = 0x00000081, // Hexagon V81
637+
EF_HEXAGON_MACH_V83 = 0x00000083, // Hexagon V83
638+
EF_HEXAGON_MACH_V85 = 0x00000085, // Hexagon V85
634639
EF_HEXAGON_MACH = 0x000003ff, // Hexagon V..
635640

636641
// Highest ISA version flags
@@ -642,6 +647,7 @@ enum {
642647
EF_HEXAGON_ISA_V5 = 0x00000040, // Hexagon V5 ISA
643648
EF_HEXAGON_ISA_V55 = 0x00000050, // Hexagon V55 ISA
644649
EF_HEXAGON_ISA_V60 = 0x00000060, // Hexagon V60 ISA
650+
EF_HEXAGON_ISA_V61 = 0x00000061, // Hexagon V61 ISA
645651
EF_HEXAGON_ISA_V62 = 0x00000062, // Hexagon V62 ISA
646652
EF_HEXAGON_ISA_V65 = 0x00000065, // Hexagon V65 ISA
647653
EF_HEXAGON_ISA_V66 = 0x00000066, // Hexagon V66 ISA
@@ -651,7 +657,11 @@ enum {
651657
EF_HEXAGON_ISA_V71 = 0x00000071, // Hexagon V71 ISA
652658
EF_HEXAGON_ISA_V73 = 0x00000073, // Hexagon V73 ISA
653659
EF_HEXAGON_ISA_V75 = 0x00000075, // Hexagon V75 ISA
660+
EF_HEXAGON_ISA_V77 = 0x00000077, // Hexagon V77 ISA
654661
EF_HEXAGON_ISA_V79 = 0x00000079, // Hexagon V79 ISA
662+
EF_HEXAGON_ISA_V81 = 0x00000081, // Hexagon V81 ISA
663+
EF_HEXAGON_ISA_V83 = 0x00000083, // Hexagon V83 ISA
664+
EF_HEXAGON_ISA_V85 = 0x00000085, // Hexagon V85 ISA
655665
EF_HEXAGON_ISA = 0x000003ff, // Hexagon V.. ISA
656666
};
657667

0 commit comments

Comments
 (0)