Go to file
Dylan McKay 04b418f246 [AVR] Expand 16-bit rotations during the legalization stage
In r356860, the legalization logic for BSWAP was modified to ISD::ROTL,
rather than the old ISD::{SHL, SRL, OR} nodes.

This works fine on AVR for 8-bit rotations, but 16-bit rotations are
currently unimplemented - they always trigger an assertion error in the
AVRExpandPseudoInsts pass ("RORW unimplemented").

This patch instructions the legalizer to expand 16-bit rotations into
the previous SHL, SRL, OR pattern it did previously.

This fixes the 'issue-cannot-select-bswap.ll' test. Interestingly, this
test failure seems flaky - it passes successfully on the avr-build-01
buildbot, but fails locally on my Arch Linux install.

llvm-svn: 362773
2019-06-07 06:55:00 +00:00
clang Factor out duplicated code building a MemberExpr and marking it 2019-06-06 23:24:18 +00:00
clang-tools-extra [clang-tidy] Another attempt to fix misc-redundant-expression check. 2019-06-06 13:43:38 +00:00
compiler-rt Set an output file name for the override-new-delete.cpp test. 2019-06-07 02:30:58 +00:00
debuginfo-tests Add cdb test for global constants 2019-06-06 20:23:05 +00:00
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx Revert "Speedup to_string and to_wstring for integers using stack buffer and SSO." 2019-06-06 07:51:39 +00:00
libcxxabi [libcxx] Use libtool when merging archives on Apple platforms 2019-06-02 01:14:31 +00:00
libunwind [Docs] Modernize references to macOS 2019-05-30 16:46:22 +00:00
lld [lld] Allow args::getInterger to parse args larger than 2^31-1 2019-06-07 06:05:26 +00:00
lldb [NativeProcessDarwin] Remove dead code. NFCI. 2019-06-05 20:23:03 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm [AVR] Expand 16-bit rotations during the legalization stage 2019-06-07 06:55:00 +00:00
openmp Added propagation of not big initial stack size of master thread to workers. 2019-06-05 16:14:47 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [ScheduleTreeTransform] Silence compiler warning. NFC. 2019-06-06 17:15:36 +00:00
pstl [pstl] The optimized parallel versions of sort, stable_sort algorithms, TBB parallel backend. 2019-06-06 07:34:46 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.