Skip to content

Commit 1213a7a

Browse files
author
Tony Linthicum
committed
Hexagon backend support
llvm-svn: 146412
1 parent 45c4164 commit 1213a7a

File tree

77 files changed

+24690
-11
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+24690
-11
lines changed

llvm/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ set(LLVM_ALL_TARGETS
7272
CBackend
7373
CellSPU
7474
CppBackend
75+
Hexagon
7576
Mips
7677
MBlaze
7778
MSP430

llvm/autoconf/config.sub

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
55
# 2011 Free Software Foundation, Inc.
66

7-
timestamp='2011-08-23'
7+
timestamp='2011-11-02'
88

99
# This file is (in principle) common to ALL GNU software.
1010
# The presence of a machine in this file suggests that SOME GNU software
@@ -256,6 +256,7 @@ case $basic_machine in
256256
| c4x | clipper \
257257
| d10v | d30v | dlx | dsp16xx \
258258
| fido | fr30 | frv \
259+
| hexagon \
259260
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
260261
| i370 | i860 | i960 | ia64 \
261262
| ip2k | iq2000 \
@@ -367,6 +368,7 @@ case $basic_machine in
367368
| elxsi-* \
368369
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
369370
| h8300-* | h8500-* \
371+
| hexagon-* \
370372
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
371373
| i*86-* | i860-* | i960-* | ia64-* \
372374
| ip2k-* | iq2000-* \

llvm/autoconf/configure.ac

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@ AC_CACHE_CHECK([target architecture],[llvm_cv_target_arch],
357357
mips-*) llvm_cv_target_arch="Mips" ;;
358358
xcore-*) llvm_cv_target_arch="XCore" ;;
359359
msp430-*) llvm_cv_target_arch="MSP430" ;;
360+
hexagon-*) llvm_cv_target_arch="Hexagon" ;;
360361
mblaze-*) llvm_cv_target_arch="MBlaze" ;;
361362
ptx-*) llvm_cv_target_arch="PTX" ;;
362363
*) llvm_cv_target_arch="Unknown" ;;
@@ -503,6 +504,7 @@ else
503504
Mips) AC_SUBST(TARGET_HAS_JIT,1) ;;
504505
XCore) AC_SUBST(TARGET_HAS_JIT,0) ;;
505506
MSP430) AC_SUBST(TARGET_HAS_JIT,0) ;;
507+
Hexagon) AC_SUBST(TARGET_HAS_JIT,0) ;;
506508
MBlaze) AC_SUBST(TARGET_HAS_JIT,0) ;;
507509
PTX) AC_SUBST(TARGET_HAS_JIT,0) ;;
508510
*) AC_SUBST(TARGET_HAS_JIT,0) ;;
@@ -615,14 +617,14 @@ dnl Allow specific targets to be specified for building (or not)
615617
TARGETS_TO_BUILD=""
616618
AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-targets],
617619
[Build specific host targets: all or target1,target2,... Valid targets are:
618-
host, x86, x86_64, sparc, powerpc, arm, mips, spu,
620+
host, x86, x86_64, sparc, powerpc, arm, mips, spu, hexagon,
619621
xcore, msp430, ptx, cbe, and cpp (default=all)]),,
620622
enableval=all)
621623
if test "$enableval" = host-only ; then
622624
enableval=host
623625
fi
624626
case "$enableval" in
625-
all) TARGETS_TO_BUILD="X86 Sparc PowerPC ARM Mips CellSPU XCore MSP430 CBackend CppBackend MBlaze PTX" ;;
627+
all) TARGETS_TO_BUILD="X86 Sparc PowerPC ARM Mips CellSPU XCore MSP430 CBackend CppBackend MBlaze PTX Hexagon" ;;
626628
*)for a_target in `echo $enableval|sed -e 's/,/ /g' ` ; do
627629
case "$a_target" in
628630
x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
@@ -636,6 +638,7 @@ case "$enableval" in
636638
msp430) TARGETS_TO_BUILD="MSP430 $TARGETS_TO_BUILD" ;;
637639
cbe) TARGETS_TO_BUILD="CBackend $TARGETS_TO_BUILD" ;;
638640
cpp) TARGETS_TO_BUILD="CppBackend $TARGETS_TO_BUILD" ;;
641+
hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
639642
mblaze) TARGETS_TO_BUILD="MBlaze $TARGETS_TO_BUILD" ;;
640643
ptx) TARGETS_TO_BUILD="PTX $TARGETS_TO_BUILD" ;;
641644
host) case "$llvm_cv_target_arch" in
@@ -649,6 +652,7 @@ case "$enableval" in
649652
CellSPU|SPU) TARGETS_TO_BUILD="CellSPU $TARGETS_TO_BUILD" ;;
650653
XCore) TARGETS_TO_BUILD="XCore $TARGETS_TO_BUILD" ;;
651654
MSP430) TARGETS_TO_BUILD="MSP430 $TARGETS_TO_BUILD" ;;
655+
Hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
652656
PTX) TARGETS_TO_BUILD="PTX $TARGETS_TO_BUILD" ;;
653657
*) AC_MSG_ERROR([Can not set target to build]) ;;
654658
esac ;;

llvm/configure

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,7 +1419,7 @@ Optional Features:
14191419
--enable-targets Build specific host targets: all or
14201420
target1,target2,... Valid targets are: host, x86,
14211421
x86_64, sparc, powerpc, arm, mips, spu, xcore,
1422-
msp430, ptx, cbe, and cpp (default=all)
1422+
hexagon, msp430, ptx, cbe, and cpp (default=all)
14231423
--enable-cbe-printf-a Enable C Backend output with hex floating point via
14241424
%a (default is YES)
14251425
--enable-bindings Build specific language bindings:
@@ -3883,6 +3883,7 @@ else
38833883
mips-*) llvm_cv_target_arch="Mips" ;;
38843884
xcore-*) llvm_cv_target_arch="XCore" ;;
38853885
msp430-*) llvm_cv_target_arch="MSP430" ;;
3886+
hexagon-*) llvm_cv_target_arch="Hexagon" ;;
38863887
mblaze-*) llvm_cv_target_arch="MBlaze" ;;
38873888
ptx-*) llvm_cv_target_arch="PTX" ;;
38883889
*) llvm_cv_target_arch="Unknown" ;;
@@ -5102,6 +5103,8 @@ else
51025103
XCore) TARGET_HAS_JIT=0
51035104
;;
51045105
MSP430) TARGET_HAS_JIT=0
5106+
;;
5107+
Hexagon) TARGET_HAS_JIT=0
51055108
;;
51065109
MBlaze) TARGET_HAS_JIT=0
51075110
;;
@@ -5291,7 +5294,7 @@ if test "$enableval" = host-only ; then
52915294
enableval=host
52925295
fi
52935296
case "$enableval" in
5294-
all) TARGETS_TO_BUILD="X86 Sparc PowerPC ARM Mips CellSPU XCore MSP430 CBackend CppBackend MBlaze PTX" ;;
5297+
all) TARGETS_TO_BUILD="X86 Sparc PowerPC ARM Mips CellSPU XCore MSP430 CBackend CppBackend MBlaze PTX Hexagon" ;;
52955298
*)for a_target in `echo $enableval|sed -e 's/,/ /g' ` ; do
52965299
case "$a_target" in
52975300
x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
@@ -5305,6 +5308,7 @@ case "$enableval" in
53055308
msp430) TARGETS_TO_BUILD="MSP430 $TARGETS_TO_BUILD" ;;
53065309
cbe) TARGETS_TO_BUILD="CBackend $TARGETS_TO_BUILD" ;;
53075310
cpp) TARGETS_TO_BUILD="CppBackend $TARGETS_TO_BUILD" ;;
5311+
hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
53085312
mblaze) TARGETS_TO_BUILD="MBlaze $TARGETS_TO_BUILD" ;;
53095313
ptx) TARGETS_TO_BUILD="PTX $TARGETS_TO_BUILD" ;;
53105314
host) case "$llvm_cv_target_arch" in
@@ -5318,6 +5322,7 @@ case "$enableval" in
53185322
CellSPU|SPU) TARGETS_TO_BUILD="CellSPU $TARGETS_TO_BUILD" ;;
53195323
XCore) TARGETS_TO_BUILD="XCore $TARGETS_TO_BUILD" ;;
53205324
MSP430) TARGETS_TO_BUILD="MSP430 $TARGETS_TO_BUILD" ;;
5325+
Hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
53215326
PTX) TARGETS_TO_BUILD="PTX $TARGETS_TO_BUILD" ;;
53225327
*) { { echo "$as_me:$LINENO: error: Can not set target to build" >&5
53235328
echo "$as_me: error: Can not set target to build" >&2;}

llvm/docs/CodeGenerator.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2288,6 +2288,7 @@ <h3>
22882288
<th>Feature</th>
22892289
<th>ARM</th>
22902290
<th>CellSPU</th>
2291+
<th>Hexagon</th>
22912292
<th>MBlaze</th>
22922293
<th>MSP430</th>
22932294
<th>Mips</th>
@@ -2302,6 +2303,7 @@ <h3>
23022303
<td><a href="#feat_reliable">is generally reliable</a></td>
23032304
<td class="yes"></td> <!-- ARM -->
23042305
<td class="no"></td> <!-- CellSPU -->
2306+
<td class="yes"></td> <!-- Hexagon -->
23052307
<td class="no"></td> <!-- MBlaze -->
23062308
<td class="unknown"></td> <!-- MSP430 -->
23072309
<td class="yes"></td> <!-- Mips -->
@@ -2316,6 +2318,7 @@ <h3>
23162318
<td><a href="#feat_asmparser">assembly parser</a></td>
23172319
<td class="no"></td> <!-- ARM -->
23182320
<td class="no"></td> <!-- CellSPU -->
2321+
<td class="no"></td> <!-- Hexagon -->
23192322
<td class="yes"></td> <!-- MBlaze -->
23202323
<td class="no"></td> <!-- MSP430 -->
23212324
<td class="no"></td> <!-- Mips -->
@@ -2330,6 +2333,7 @@ <h3>
23302333
<td><a href="#feat_disassembler">disassembler</a></td>
23312334
<td class="yes"></td> <!-- ARM -->
23322335
<td class="no"></td> <!-- CellSPU -->
2336+
<td class="no"></td> <!-- Hexagon -->
23332337
<td class="yes"></td> <!-- MBlaze -->
23342338
<td class="no"></td> <!-- MSP430 -->
23352339
<td class="no"></td> <!-- Mips -->
@@ -2344,6 +2348,7 @@ <h3>
23442348
<td><a href="#feat_inlineasm">inline asm</a></td>
23452349
<td class="yes"></td> <!-- ARM -->
23462350
<td class="no"></td> <!-- CellSPU -->
2351+
<td class="yes"></td> <!-- Hexagon -->
23472352
<td class="yes"></td> <!-- MBlaze -->
23482353
<td class="unknown"></td> <!-- MSP430 -->
23492354
<td class="no"></td> <!-- Mips -->
@@ -2358,6 +2363,7 @@ <h3>
23582363
<td><a href="#feat_jit">jit</a></td>
23592364
<td class="partial"><a href="#feat_jit_arm">*</a></td> <!-- ARM -->
23602365
<td class="no"></td> <!-- CellSPU -->
2366+
<td class="no"></td> <!-- Hexagon -->
23612367
<td class="no"></td> <!-- MBlaze -->
23622368
<td class="unknown"></td> <!-- MSP430 -->
23632369
<td class="yes"></td> <!-- Mips -->
@@ -2372,6 +2378,7 @@ <h3>
23722378
<td><a href="#feat_objectwrite">.o&nbsp;file writing</a></td>
23732379
<td class="no"></td> <!-- ARM -->
23742380
<td class="no"></td> <!-- CellSPU -->
2381+
<td class="no"></td> <!-- Hexagon -->
23752382
<td class="yes"></td> <!-- MBlaze -->
23762383
<td class="no"></td> <!-- MSP430 -->
23772384
<td class="no"></td> <!-- Mips -->
@@ -2386,6 +2393,7 @@ <h3>
23862393
<td><a href="#feat_tailcall">tail calls</a></td>
23872394
<td class="yes"></td> <!-- ARM -->
23882395
<td class="no"></td> <!-- CellSPU -->
2396+
<td class="yes"></td> <!-- Hexagon -->
23892397
<td class="no"></td> <!-- MBlaze -->
23902398
<td class="unknown"></td> <!-- MSP430 -->
23912399
<td class="no"></td> <!-- Mips -->

llvm/include/llvm/ADT/Triple.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Triple {
4545

4646
arm, // ARM; arm, armv.*, xscale
4747
cellspu, // CellSPU: spu, cellspu
48+
hexagon, // Hexagon: hexagon
4849
mips, // MIPS: mips, mipsallegrex
4950
mipsel, // MIPSEL: mipsel, mipsallegrexel, psp
5051
mips64, // MIPS64: mips64

llvm/include/llvm/Intrinsics.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,3 +444,4 @@ include "llvm/IntrinsicsARM.td"
444444
include "llvm/IntrinsicsCellSPU.td"
445445
include "llvm/IntrinsicsXCore.td"
446446
include "llvm/IntrinsicsPTX.td"
447+
include "llvm/IntrinsicsHexagon.td"

0 commit comments

Comments
 (0)