forked from OSchip/llvm-project
![]() Summary: An alignment should be non-zero positive power-of-two, anything and everything else is UB. We should not have that check for all these prerequisites here, it's just UB. Also, that was likely confusing middle-end passes. While there, `CreateIntCast()` should be called with `/*isSigned*/ false`. Think about it, there are two explanations: "An alignment should be positive", therefore the sign bit is unset, so `zext` and `sext` is equivalent. Or a second one: you have `i2 0b10` - a valid alignment, now you `sext` it: `i2 0b110` - no longer valid alignment. Reviewers: craig.topper, jyknight, hfinkel, erichkeane, rjmccall Reviewed By: hfinkel, rjmccall Subscribers: hfinkel, llvm-commits Differential Revision: https://reviews.llvm.org/D54653 llvm-svn: 352089 |
||
---|---|---|
clang | ||
clang-tools-extra | ||
compiler-rt | ||
debuginfo-tests | ||
libclc | ||
libcxx | ||
libcxxabi | ||
libunwind | ||
lld | ||
lldb | ||
llgo | ||
llvm | ||
openmp | ||
parallel-libs | ||
polly | ||
pstl | ||
.arcconfig | ||
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.