summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AVR
diff options
context:
space:
mode:
authorDylan McKay <me@dylanmckay.io>2017-09-26 00:45:27 +0000
committerDylan McKay <me@dylanmckay.io>2017-09-26 00:45:27 +0000
commit832c4a65c0b22f9e88374703db1064f8a7d7a7d4 (patch)
tree2cdbc2bac4f7db21ee3034245cf108d14bcc3306 /llvm/lib/Target/AVR
parent54f689327964b18993d0b6f363393a1bba7210ae (diff)
downloadbcm5719-llvm-832c4a65c0b22f9e88374703db1064f8a7d7a7d4.tar.gz
bcm5719-llvm-832c4a65c0b22f9e88374703db1064f8a7d7a7d4.zip
[AVR] Use 1-byte alignment for all data types
This was an oversight in the original backend data layout. The AVR architecture does not have the concept of unaligned loads - all loads/stores from all addresses are aligned to one byte. Discovered in avr-rust issue #64 https://github.com/avr-rust/rust/issues/64 Patch By Gergo Erdi. llvm-svn: 314179
Diffstat (limited to 'llvm/lib/Target/AVR')
-rw-r--r--llvm/lib/Target/AVR/AVRTargetMachine.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AVR/AVRTargetMachine.cpp b/llvm/lib/Target/AVR/AVRTargetMachine.cpp
index 9865a79997c..f9a738b2182 100644
--- a/llvm/lib/Target/AVR/AVRTargetMachine.cpp
+++ b/llvm/lib/Target/AVR/AVRTargetMachine.cpp
@@ -25,7 +25,7 @@
namespace llvm {
-static const char *AVRDataLayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-n8";
+static const char *AVRDataLayout = "e-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8";
/// Processes a CPU name.
static StringRef getCPU(StringRef CPU) {
OpenPOWER on IntegriCloud