diff options
author | Dylan McKay <me@dylanmckay.io> | 2017-09-26 00:45:27 +0000 |
---|---|---|
committer | Dylan McKay <me@dylanmckay.io> | 2017-09-26 00:45:27 +0000 |
commit | 832c4a65c0b22f9e88374703db1064f8a7d7a7d4 (patch) | |
tree | 2cdbc2bac4f7db21ee3034245cf108d14bcc3306 /llvm/lib/Target/AVR | |
parent | 54f689327964b18993d0b6f363393a1bba7210ae (diff) | |
download | bcm5719-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.cpp | 2 |
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) { |