Skip to content

Commit

Permalink
Merged master:5be50d79c0b8 into amd-gfx:6eb7d17bb40e
Browse files Browse the repository at this point in the history
Local branch amd-gfx 6eb7d17 Merged master:39856d5d0b65 into amd-gfx:6a4df4c90621
Remote branch master 5be50d7 [NFC][clang][AVR] Add more devices
  • Loading branch information
Sw authored and Sw committed Oct 29, 2020
2 parents 6eb7d17 + 5be50d7 commit 513ba23
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 51 deletions.
7 changes: 7 additions & 0 deletions clang/lib/Basic/Targets/AVR.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,10 @@ static MCUInfo AVRMcus[] = {
{"attiny85", "__AVR_ATtiny85__"},
{"attiny261", "__AVR_ATtiny261__"},
{"attiny261a", "__AVR_ATtiny261A__"},
{"attiny441", "__AVR_ATtiny441__"},
{"attiny461", "__AVR_ATtiny461__"},
{"attiny461a", "__AVR_ATtiny461A__"},
{"attiny841", "__AVR_ATtiny841__"},
{"attiny861", "__AVR_ATtiny861__"},
{"attiny861a", "__AVR_ATtiny861A__"},
{"attiny87", "__AVR_ATtiny87__"},
Expand Down Expand Up @@ -92,11 +94,13 @@ static MCUInfo AVRMcus[] = {
{"atmega48", "__AVR_ATmega48__"},
{"atmega48a", "__AVR_ATmega48A__"},
{"atmega48pa", "__AVR_ATmega48PA__"},
{"atmega48pb", "__AVR_ATmega48PB__"},
{"atmega48p", "__AVR_ATmega48P__"},
{"atmega88", "__AVR_ATmega88__"},
{"atmega88a", "__AVR_ATmega88A__"},
{"atmega88p", "__AVR_ATmega88P__"},
{"atmega88pa", "__AVR_ATmega88PA__"},
{"atmega88pb", "__AVR_ATmega88PB__"},
{"atmega8515", "__AVR_ATmega8515__"},
{"atmega8535", "__AVR_ATmega8535__"},
{"atmega8hva", "__AVR_ATmega8HVA__"},
Expand Down Expand Up @@ -124,6 +128,7 @@ static MCUInfo AVRMcus[] = {
{"atmega168a", "__AVR_ATmega168A__"},
{"atmega168p", "__AVR_ATmega168P__"},
{"atmega168pa", "__AVR_ATmega168PA__"},
{"atmega168pb", "__AVR_ATmega168PB__"},
{"atmega169", "__AVR_ATmega169__"},
{"atmega169a", "__AVR_ATmega169A__"},
{"atmega169p", "__AVR_ATmega169P__"},
Expand All @@ -134,6 +139,7 @@ static MCUInfo AVRMcus[] = {
{"atmega324a", "__AVR_ATmega324A__"},
{"atmega324p", "__AVR_ATmega324P__"},
{"atmega324pa", "__AVR_ATmega324PA__"},
{"atmega324pb", "__AVR_ATmega324PB__"},
{"atmega325", "__AVR_ATmega325__"},
{"atmega325a", "__AVR_ATmega325A__"},
{"atmega325p", "__AVR_ATmega325P__"},
Expand All @@ -144,6 +150,7 @@ static MCUInfo AVRMcus[] = {
{"atmega3250pa", "__AVR_ATmega3250PA__"},
{"atmega328", "__AVR_ATmega328__"},
{"atmega328p", "__AVR_ATmega328P__"},
{"atmega328pb", "__AVR_ATmega328PB__"},
{"atmega329", "__AVR_ATmega329__"},
{"atmega329a", "__AVR_ATmega329A__"},
{"atmega329p", "__AVR_ATmega329P__"},
Expand Down
88 changes: 43 additions & 45 deletions clang/test/Misc/target-invalid-cpu-note.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,51 +144,49 @@
// AVR-SAME: avrxmega4, avrxmega5, avrxmega6, avrxmega7, avrtiny, at90s1200,
// AVR-SAME: attiny11, attiny12, attiny15, attiny28, at90s2313, at90s2323,
// AVR-SAME: at90s2333, at90s2343, attiny22, attiny26, at86rf401, at90s4414,
// AVR-SAME: t90s4433, at90s4434, at90s8515, at90c8534, at90s8535, ata5272,
// AVR-SAME: ttiny13, attiny13a, attiny2313, attiny2313a, attiny24, attiny24a,
// AVR-SAME: ttiny4313, attiny44, attiny44a, attiny84, attiny84a, attiny25,
// AVR-SAME: ttiny45, attiny85, attiny261, attiny261a, attiny461, attiny461a,
// AVR-SAME: ttiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
// AVR-SAME: ttiny828, at43usb355, at76c711, atmega103, at43usb320, attiny167,
// AVR-SAME: t90usb82, at90usb162, ata5505, atmega8u2, atmega16u2,
// AVR-SAME: atmega32u2, attiny1634, atmega8, ata6289, atmega8a, ata6285,
// AVR-SAME: ata6286, atmega48, atmega48a, atmega48pa, atmega48p, atmega88,
// AVR-SAME: atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535,
// AVR-SAME: atmega8hva, at90pwm1, at90pwm2, at90pwm2b, at90pwm3, at90pwm3b,
// AVR-SAME: at90pwm81, ata5790, ata5795, atmega16, atmega16a, atmega161,
// AVR-SAME: atmega162, atmega163, atmega164a, atmega164p, atmega164pa,
// AVR-SAME: atmega165, atmega165a, atmega165p, atmega165pa, atmega168,
// AVR-SAME: atmega168a, atmega168p, atmega168pa, atmega169, atmega169a,
// AVR-SAME: atmega169p, atmega169pa, atmega32, atmega32a, atmega323,
// AVR-SAME: atmega324a, atmega324p, atmega324pa, atmega325, atmega325a,
// AVR-SAME: atmega325p, atmega325pa, atmega3250, atmega3250a, atmega3250p,
// AVR-SAME: atmega3250pa, atmega328, atmega328p, atmega329, atmega329a,
// AVR-SAME: atmega329p, atmega329pa, atmega3290, atmega3290a, atmega3290p,
// AVR-SAME: atmega3290pa, atmega406, atmega64, atmega64a, atmega640, atmega644,
// AVR-SAME: atmega644a, atmega644p, atmega644pa, atmega645, atmega645a,
// AVR-SAME: tmega645p, atmega649, atmega649a, atmega649p, atmega6450,
// AVR-SAME: tmega6450a, atmega6450p, atmega6490, atmega6490a, atmega6490p,
// AVR-SAME: tmega64rfr2, atmega644rfr2, atmega16hva, atmega16hva2,
// AVR-SAME: tmega16hvb, atmega16hvbrevb, atmega32hvb, atmega32hvbrevb,
// AVR-SAME: tmega64hve, at90can32, at90can64, at90pwm161, at90pwm216,
// AVR-SAME: t90pwm316, atmega32c1, atmega64c1, atmega16m1, atmega32m1,
// AVR-SAME: tmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646,
// AVR-SAME: t90usb647, at90scr100, at94k, m3000, atmega128, atmega128a,
// AVR-SAME: tmega1280, atmega1281, atmega1284, atmega1284p, atmega128rfa1,
// AVR-SAME: tmega128rfr2, atmega1284rfr2, at90can128, at90usb1286,
// AVR-SAME: t90usb1287, atmega2560, atmega2561, atmega256rfr2, atmega2564rfr2,
// AVR-SAME: txmega16a4, atxmega16a4u, atxmega16c4, atxmega16d4, atxmega32a4,
// AVR-SAME: txmega32a4u, atxmega32c4, atxmega32d4, atxmega32e5, atxmega16e5,
// AVR-SAME: txmega8e5, atxmega32x1, atxmega64a3, atxmega64a3u, atxmega64a4u,
// AVR-SAME: txmega64b1, atxmega64b3, atxmega64c3, atxmega64d3, atxmega64d4,
// AVR-SAME: txmega64a1, atxmega64a1u, atxmega128a3, atxmega128a3u,
// AVR-SAME: txmega128b1, atxmega128b3, atxmega128c3, atxmega128d3,
// AVR-SAME: txmega128d4, atxmega192a3, atxmega192a3u, atxmega192c3,
// AVR-SAME: txmega192d3, atxmega256a3, atxmega256a3u, atxmega256a3b,
// AVR-SAME: txmega256a3bu, atxmega256c3, atxmega256d3, atxmega384c3,
// AVR-SAME: txmega384d3, atxmega128a1, atxmega128a1u, atxmega128a4u,
// AVR-SAME: ttiny4, attiny5, attiny9, attiny10, attiny20, attiny40, attiny102,
// AVR-SAME: attiny104
// AVR-SAME: at90s4433, at90s4434, at90s8515, at90c8534, at90s8535, ata5272,
// AVR-SAME: attiny13, attiny13a, attiny2313, attiny2313a, attiny24, attiny24a,
// AVR-SAME: attiny4313, attiny44, attiny44a, attiny84, attiny84a, attiny25,
// AVR-SAME: attiny45, attiny85, attiny261, attiny261a, attiny441, attiny461,
// AVR-SAME: attiny461a, attiny841, attiny861, attiny861a, attiny87, attiny43u,
// AVR-SAME: attiny48, attiny88, attiny828, at43usb355, at76c711, atmega103,
// AVR-SAME: at43usb320, attiny167, at90usb82, at90usb162, ata5505, atmega8u2,
// AVR-SAME: atmega16u2, atmega32u2, attiny1634, atmega8, ata6289, atmega8a,
// AVR-SAME: ata6285, ata6286, atmega48, atmega48a, atmega48pa, atmega48pb,
// AVR-SAME: atmega48p, atmega88, atmega88a, atmega88p, atmega88pa, atmega88pb,
// AVR-SAME: atmega8515, atmega8535, atmega8hva, at90pwm1, at90pwm2, at90pwm2b,
// AVR-SAME: at90pwm3, at90pwm3b, at90pwm81, ata5790, ata5795, atmega16,
// AVR-SAME: atmega16a, atmega161, atmega162, atmega163, atmega164a, atmega164p,
// AVR-SAME: atmega164pa, atmega165, atmega165a, atmega165p, atmega165pa,
// AVR-SAME: atmega168, atmega168a, atmega168p, atmega168pa, atmega168pb,
// AVR-SAME: atmega169, atmega169a, atmega169p, atmega169pa, atmega32, atmega32a,
// AVR-SAME: atmega323, atmega324a, atmega324p, atmega324pa, atmega324pb,
// AVR-SAME: atmega325, atmega325a, atmega325p, atmega325pa, atmega3250,
// AVR-SAME: atmega3250a, atmega3250p, atmega3250pa, atmega328, atmega328p,
// AVR-SAME: atmega328pb, atmega329, atmega329a, atmega329p, atmega329pa,
// AVR-SAME: atmega3290, atmega3290a, atmega3290p, atmega3290pa, atmega406,
// AVR-SAME: atmega64, atmega64a, atmega640, atmega644, atmega644a, atmega644p,
// AVR-SAME: atmega644pa, atmega645, atmega645a, atmega645p, atmega649, atmega649a,
// AVR-SAME: atmega649p, atmega6450, atmega6450a, atmega6450p, atmega6490,
// AVR-SAME: atmega6490a, atmega6490p, atmega64rfr2, atmega644rfr2, atmega16hva,
// AVR-SAME: atmega16hva2, atmega16hvb, atmega16hvbrevb, atmega32hvb,
// AVR-SAME: atmega32hvbrevb, atmega64hve, at90can32, at90can64, at90pwm161,
// AVR-SAME: at90pwm216, at90pwm316, atmega32c1, atmega64c1, atmega16m1, atmega32m1,
// AVR-SAME: atmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646, at90usb647,
// AVR-SAME: at90scr100, at94k, m3000, atmega128, atmega128a, atmega1280, atmega1281,
// AVR-SAME: atmega1284, atmega1284p, atmega128rfa1, atmega128rfr2, atmega1284rfr2,
// AVR-SAME: at90can128, at90usb1286, at90usb1287, atmega2560, atmega2561,
// AVR-SAME: atmega256rfr2, atmega2564rfr2, atxmega16a4, atxmega16a4u, atxmega16c4,
// AVR-SAME: atxmega16d4, atxmega32a4, atxmega32a4u, atxmega32c4, atxmega32d4,
// AVR-SAME: atxmega32e5, atxmega16e5, atxmega8e5, atxmega32x1, atxmega64a3,
// AVR-SAME: atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3, atxmega64c3,
// AVR-SAME: atxmega64d3, atxmega64d4, atxmega64a1, atxmega64a1u, atxmega128a3,
// AVR-SAME: atxmega128a3u, atxmega128b1, atxmega128b3, atxmega128c3, atxmega128d3,
// AVR-SAME: atxmega128d4, atxmega192a3, atxmega192a3u, atxmega192c3, atxmega192d3,
// AVR-SAME: atxmega256a3, atxmega256a3u, atxmega256a3b, atxmega256a3bu, atxmega256c3,
// AVR-SAME: atxmega256d3, atxmega384c3, atxmega384d3, atxmega128a1, atxmega128a1u,
// AVR-SAME: atxmega128a4u, attiny4, attiny5, attiny9, attiny10, attiny20, attiny40,
// AVR-SAME: attiny102, attiny104

// RUN: not %clang_cc1 -triple riscv32 -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix RISCV32
// RISCV32: error: unknown target CPU 'not-a-cpu'
Expand Down
19 changes: 13 additions & 6 deletions llvm/lib/Target/AVR/AVRDevices.td
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def FamilyAVR6 : Family<"avr6",

def FamilyTiny : Family<"avrtiny",
[FamilyAVR0, FeatureBREAK, FeatureSRAM,
FeatureTinyEncoding, FeatureMMR]>;
FeatureTinyEncoding]>;

def FamilyXMEGA : Family<"xmega",
[FamilyAVR0, FeatureLPM, FeatureIJMPCALL, FeatureADDSUBIW,
Expand Down Expand Up @@ -309,19 +309,23 @@ def : Device<"atmega8u2", FamilyAVR35, ELFArchAVR35>;
def : Device<"atmega16u2", FamilyAVR35, ELFArchAVR35>;
def : Device<"atmega32u2", FamilyAVR35, ELFArchAVR35>;
def : Device<"attiny1634", FamilyAVR35, ELFArchAVR35>;
def : Device<"atmega8", FamilyAVR4, ELFArchAVR4>; // FIXME: family may be wrong
def : Device<"atmega8", FamilyAVR2, ELFArchAVR4,
[FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>;
def : Device<"ata6289", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega8a", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega8a", FamilyAVR2, ELFArchAVR4,
[FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>;
def : Device<"ata6285", FamilyAVR4, ELFArchAVR4>;
def : Device<"ata6286", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega48", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega48a", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega48pa", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega48pb", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega48p", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega88", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega88a", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega88p", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega88pa", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega88pb", FamilyAVR4, ELFArchAVR4>;
def : Device<"atmega8515", FamilyAVR2, ELFArchAVR4,
[FeatureMultiplication, FeatureMOVW, FeatureLPMX, FeatureSPM]>;
def : Device<"atmega8535", FamilyAVR2, ELFArchAVR4,
Expand Down Expand Up @@ -353,6 +357,7 @@ def : Device<"atmega168", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega168a", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega168p", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega168pa", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega168pb", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega169", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega169a", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega169p", FamilyAVR5, ELFArchAVR5>;
Expand All @@ -363,6 +368,7 @@ def : Device<"atmega323", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega324a", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega324p", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega324pa", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega324pb", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega325", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega325a", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega325p", FamilyAVR5, ELFArchAVR5>;
Expand All @@ -373,6 +379,7 @@ def : Device<"atmega3250p", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega3250pa", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega328", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega328p", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega328pb", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega329", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega329a", FamilyAVR5, ELFArchAVR5>;
def : Device<"atmega329p", FamilyAVR5, ELFArchAVR5>;
Expand Down Expand Up @@ -453,9 +460,9 @@ def : Device<"atxmega32a4", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega32a4u", FamilyXMEGAU, ELFArchXMEGA2>;
def : Device<"atxmega32c4", FamilyXMEGAU, ELFArchXMEGA2>;
def : Device<"atxmega32d4", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega32e5", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega16e5", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega8e5", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega32e5", FamilyXMEGAU, ELFArchXMEGA2>;
def : Device<"atxmega16e5", FamilyXMEGAU, ELFArchXMEGA2>;
def : Device<"atxmega8e5", FamilyXMEGAU, ELFArchXMEGA2>;
def : Device<"atxmega32x1", FamilyXMEGA, ELFArchXMEGA2>;
def : Device<"atxmega64a3", FamilyXMEGA, ELFArchXMEGA4>;
def : Device<"atxmega64a3u", FamilyXMEGAU, ELFArchXMEGA4>;
Expand Down

0 comments on commit 513ba23

Please sign in to comment.