[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-08 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer added a comment.

Thanks a lot @benshi001!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-07 Thread Ben Shi via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb0d4d969e22e: [AVR] Add support for the tinyAVR 0-series and 
tinyAVR 1-series (authored by justinlatimer, committed by benshi001).

Changed prior to commit:
  https://reviews.llvm.org/D103136?vs=371176=371237#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

Files:
  clang/lib/Basic/Targets/AVR.cpp
  clang/test/Misc/target-invalid-cpu-note.c
  llvm/lib/Target/AVR/AVRDevices.td


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- llvm/lib/Target/AVR/AVRDevices.td
+++ llvm/lib/Target/AVR/AVRDevices.td
@@ -498,3 +498,28 @@
 def : Device<"attiny40", FamilyTiny, ELFArchTiny>;
 def : Device<"attiny102", FamilyTiny, ELFArchTiny>;
 def : Device<"attiny104", FamilyTiny, ELFArchTiny>;
+def : Device<"attiny202", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny402", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny204", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny404", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny804", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny406", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny806", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny807", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny212", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny412", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny214", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny414", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny814", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny417", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny817", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>;
Index: clang/test/Misc/target-invalid-cpu-note.c
===
--- clang/test/Misc/target-invalid-cpu-note.c
+++ clang/test/Misc/target-invalid-cpu-note.c
@@ -188,7 +188,11 @@
 // 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
+// AVR-SAME: attiny102, attiny104, attiny202, attiny402, attiny204, attiny404, 
attiny804,
+// AVR-SAME: attiny1604, attiny406, attiny806, attiny1606, attiny807, 
attiny1607,
+// AVR-SAME: attiny212, attiny412, attiny214, attiny414, attiny814, attiny1614,
+// AVR-SAME: attiny416, attiny816, attiny1616, attiny3216, attiny417, 
attiny817,
+// AVR-SAME: attiny1617, attiny3217
 
 // 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'
Index: clang/lib/Basic/Targets/AVR.cpp
===
--- clang/lib/Basic/Targets/AVR.cpp
+++ clang/lib/Basic/Targets/AVR.cpp
@@ -274,6 +274,31 @@
 {"attiny40", "__AVR_ATtiny40__"},
 {"attiny102", "__AVR_ATtiny102__"},
 {"attiny104", "__AVR_ATtiny104__"},
+{"attiny202", "__AVR_ATtiny202__"},
+{"attiny402", "__AVR_ATtiny402__"},
+{"attiny204", "__AVR_ATtiny204__"},
+{"attiny404", "__AVR_ATtiny404__"},
+{"attiny804", "__AVR_ATtiny804__"},
+{"attiny1604", "__AVR_ATtiny1604__"},
+{"attiny406", "__AVR_ATtiny406__"},
+{"attiny806", "__AVR_ATtiny806__"},
+{"attiny1606", "__AVR_ATtiny1606__"},
+{"attiny807", "__AVR_ATtiny807__"},
+{"attiny1607", "__AVR_ATtiny1607__"},
+{"attiny212", "__AVR_ATtiny212__"},
+{"attiny412", "__AVR_ATtiny412__"},
+{"attiny214", "__AVR_ATtiny214__"},
+{"attiny414", "__AVR_ATtiny414__"},
+{"attiny814", "__AVR_ATtiny814__"},
+{"attiny1614", "__AVR_ATtiny1614__"},
+{"attiny416", "__AVR_ATtiny416__"},
+{"attiny816", "__AVR_ATtiny816__"},
+{"attiny1616", "__AVR_ATtiny1616__"},
+{"attiny3216", "__AVR_ATtiny3216__"},
+{"attiny417", "__AVR_ATtiny417__"},
+{"attiny817", "__AVR_ATtiny817__"},
+{"attiny1617", "__AVR_ATtiny1617__"},
+{"attiny3217", "__AVR_ATtiny3217__"},
 };
 
 } // namespace targets


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- 

[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-07 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer added a comment.

For the commit message, my name is Justin Latimer and my email is 
justinlati...@gmail.com. Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-07 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer updated this revision to Diff 371176.
justinlatimer added a comment.

Update target-invalid-cpu-note.c test.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

Files:
  clang/lib/Basic/Targets/AVR.cpp
  clang/test/Misc/target-invalid-cpu-note.c
  llvm/lib/Target/AVR/AVRDevices.td


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- llvm/lib/Target/AVR/AVRDevices.td
+++ llvm/lib/Target/AVR/AVRDevices.td
@@ -495,4 +495,28 @@
 def : Device<"attiny40",   FamilyTiny, ELFArchTiny>;
 def : Device<"attiny102",  FamilyTiny, ELFArchTiny>;
 def : Device<"attiny104",  FamilyTiny, ELFArchTiny>;
-
+def : Device<"attiny202",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny402",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny204",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny404",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny804",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny406",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny806",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny807",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny212",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny412",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny214",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny414",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny814",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny417",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny817",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>;
Index: clang/test/Misc/target-invalid-cpu-note.c
===
--- clang/test/Misc/target-invalid-cpu-note.c
+++ clang/test/Misc/target-invalid-cpu-note.c
@@ -154,7 +154,11 @@
 // 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: attiny104, attiny202, attiny402, attiny204, attiny404, attiny804,
+// AVR-SAME: attiny1604, attiny406, attiny806, attiny1606, attiny807, 
attiny1607,
+// AVR-SAME: attiny212, attiny412, attiny214, attiny414, attiny814, attiny1614,
+// AVR-SAME: attiny416, attiny816, attiny1616, attiny3216, attiny417, 
attiny817,
+// AVR-SAME: attiny1617, attiny3217
 
 // 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'
Index: clang/lib/Basic/Targets/AVR.cpp
===
--- clang/lib/Basic/Targets/AVR.cpp
+++ clang/lib/Basic/Targets/AVR.cpp
@@ -267,6 +267,31 @@
 {"attiny40", "__AVR_ATtiny40__"},
 {"attiny102", "__AVR_ATtiny102__"},
 {"attiny104", "__AVR_ATtiny104__"},
+{"attiny202", "__AVR_ATtiny202__"},
+{"attiny402", "__AVR_ATtiny402__"},
+{"attiny204", "__AVR_ATtiny204__"},
+{"attiny404", "__AVR_ATtiny404__"},
+{"attiny804", "__AVR_ATtiny804__"},
+{"attiny1604", "__AVR_ATtiny1604__"},
+{"attiny406", "__AVR_ATtiny406__"},
+{"attiny806", "__AVR_ATtiny806__"},
+{"attiny1606", "__AVR_ATtiny1606__"},
+{"attiny807", "__AVR_ATtiny807__"},
+{"attiny1607", "__AVR_ATtiny1607__"},
+{"attiny212", "__AVR_ATtiny212__"},
+{"attiny412", "__AVR_ATtiny412__"},
+{"attiny214", "__AVR_ATtiny214__"},
+{"attiny414", "__AVR_ATtiny414__"},
+{"attiny814", "__AVR_ATtiny814__"},
+{"attiny1614", "__AVR_ATtiny1614__"},
+{"attiny416", "__AVR_ATtiny416__"},
+{"attiny816", "__AVR_ATtiny816__"},
+{"attiny1616", "__AVR_ATtiny1616__"},
+{"attiny3216", "__AVR_ATtiny3216__"},
+{"attiny417", "__AVR_ATtiny417__"},
+{"attiny817", "__AVR_ATtiny817__"},
+{"attiny1617", "__AVR_ATtiny1617__"},
+{"attiny3217", "__AVR_ATtiny3217__"},
 };
 
 } // namespace targets


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- llvm/lib/Target/AVR/AVRDevices.td
+++ 

[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-07 Thread Ben Shi via Phabricator via cfe-commits
benshi001 added a comment.

Please tell me your email address which will be shown in the commit message.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-07 Thread Ben Shi via Phabricator via cfe-commits
benshi001 added a comment.

Sorry, I happened to find that the list in `lib/Driver/ToolChains/AVR.cpp` also 
needs update.

  {"at90s1200", "", "avr1", 0},
  {"attiny11", "", "avr1", 0},
  {"attiny12", "", "avr1", 0},
  {"attiny15", "", "avr1", 0},
  {"attiny28", "", "avr1", 0},
  {"at90s2313", "tiny-stack", "avr2", 0x800060},
  {"at90s2323", "tiny-stack", "avr2", 0x800060},
  {"at90s2333", "tiny-stack", "avr2", 0x800060},
  {"at90s2343", "tiny-stack", "avr2", 0x800060},
  {"at90s4433", "tiny-stack", "avr2", 0x800060},
  ..
  ..
  {"atxmega256a3", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega256a3u", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega256a3b", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega256a3bu", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega256c3", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega256d3", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega384c3", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega384d3", "avrxmega6", "avrxmega6", 0x802000},
  {"atxmega128a1", "avrxmega7", "avrxmega7", 0x802000},
  {"atxmega128a1u", "avrxmega7", "avrxmega7", 0x802000},
  {"atxmega128a4u", "avrxmega7", "avrxmega7", 0x802000},


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-06 Thread Ben Shi via Phabricator via cfe-commits
benshi001 added inline comments.



Comment at: llvm/lib/Target/AVR/AVRDevices.td:515
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816",  FamilyXMEGA, ELFArchXMEGA3>;

justinlatimer wrote:
> benshi001 wrote:
> > `attiny3214` is missing
> I can't find any details on the `attiny3214`?
Let's just ignore that. I see attiny3214 in GCC but not find in microchip's 
website. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-06 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer added inline comments.



Comment at: llvm/lib/Target/AVR/AVRDevices.td:515
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816",  FamilyXMEGA, ELFArchXMEGA3>;

benshi001 wrote:
> `attiny3214` is missing
I can't find any details on the `attiny3214`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-06 Thread Ben Shi via Phabricator via cfe-commits
benshi001 added inline comments.



Comment at: llvm/lib/Target/AVR/AVRDevices.td:515
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816",  FamilyXMEGA, ELFArchXMEGA3>;

`attiny3214` is missing


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-06 Thread Ben Shi via Phabricator via cfe-commits
benshi001 added a reviewer: benshi001.
benshi001 added a comment.

I though the test clang/test/Misc/target-invalid-cpu-note.c should also be 
updated.

BTW: What info (especially name and email) would like to see in the commit 
message ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-09-05 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer added a subscriber: benshi001.
justinlatimer added a comment.

@benshi001 would it be possible to get this committed? Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-06-28 Thread Dylan McKay via Phabricator via cfe-commits
dylanmckay accepted this revision.
dylanmckay added a comment.
This revision is now accepted and ready to land.

Nope, thank you!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-06-16 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer added a comment.

@dylanmckay is there anything else I need to update on this patch? Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D103136: [AVR] Add support for the tinyAVR 0-series and tinyAVR 1-seriesø

2021-05-30 Thread Justin Latimer via Phabricator via cfe-commits
justinlatimer updated this revision to Diff 348707.
justinlatimer added a comment.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Add devices into the clang AVR target constant list.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103136/new/

https://reviews.llvm.org/D103136

Files:
  clang/lib/Basic/Targets/AVR.cpp
  llvm/lib/Target/AVR/AVRDevices.td


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- llvm/lib/Target/AVR/AVRDevices.td
+++ llvm/lib/Target/AVR/AVRDevices.td
@@ -495,4 +495,28 @@
 def : Device<"attiny40",   FamilyTiny, ELFArchTiny>;
 def : Device<"attiny102",  FamilyTiny, ELFArchTiny>;
 def : Device<"attiny104",  FamilyTiny, ELFArchTiny>;
-
+def : Device<"attiny202",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny402",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny204",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny404",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny804",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny406",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny806",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny807",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny212",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny412",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny214",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny414",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny814",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1614", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny416",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny816",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1616", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3216", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny417",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny817",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1617", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny3217", FamilyXMEGA, ELFArchXMEGA3>;
Index: clang/lib/Basic/Targets/AVR.cpp
===
--- clang/lib/Basic/Targets/AVR.cpp
+++ clang/lib/Basic/Targets/AVR.cpp
@@ -267,6 +267,31 @@
 {"attiny40", "__AVR_ATtiny40__"},
 {"attiny102", "__AVR_ATtiny102__"},
 {"attiny104", "__AVR_ATtiny104__"},
+{"attiny202", "__AVR_ATtiny202__"},
+{"attiny402", "__AVR_ATtiny402__"},
+{"attiny204", "__AVR_ATtiny204__"},
+{"attiny404", "__AVR_ATtiny404__"},
+{"attiny804", "__AVR_ATtiny804__"},
+{"attiny1604", "__AVR_ATtiny1604__"},
+{"attiny406", "__AVR_ATtiny406__"},
+{"attiny806", "__AVR_ATtiny806__"},
+{"attiny1606", "__AVR_ATtiny1606__"},
+{"attiny807", "__AVR_ATtiny807__"},
+{"attiny1607", "__AVR_ATtiny1607__"},
+{"attiny212", "__AVR_ATtiny212__"},
+{"attiny412", "__AVR_ATtiny412__"},
+{"attiny214", "__AVR_ATtiny214__"},
+{"attiny414", "__AVR_ATtiny414__"},
+{"attiny814", "__AVR_ATtiny814__"},
+{"attiny1614", "__AVR_ATtiny1614__"},
+{"attiny416", "__AVR_ATtiny416__"},
+{"attiny816", "__AVR_ATtiny816__"},
+{"attiny1616", "__AVR_ATtiny1616__"},
+{"attiny3216", "__AVR_ATtiny3216__"},
+{"attiny417", "__AVR_ATtiny417__"},
+{"attiny817", "__AVR_ATtiny817__"},
+{"attiny1617", "__AVR_ATtiny1617__"},
+{"attiny3217", "__AVR_ATtiny3217__"},
 };
 
 } // namespace targets


Index: llvm/lib/Target/AVR/AVRDevices.td
===
--- llvm/lib/Target/AVR/AVRDevices.td
+++ llvm/lib/Target/AVR/AVRDevices.td
@@ -495,4 +495,28 @@
 def : Device<"attiny40",   FamilyTiny, ELFArchTiny>;
 def : Device<"attiny102",  FamilyTiny, ELFArchTiny>;
 def : Device<"attiny104",  FamilyTiny, ELFArchTiny>;
-
+def : Device<"attiny202",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny402",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny204",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny404",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny804",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1604", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny406",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny806",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1606", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny807",  FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny1607", FamilyXMEGA, ELFArchXMEGA3>;
+def : Device<"attiny212",