Go to file
Roman Lebedev a95a7105ef [IRBuilder] Remove positivity check from CreateAlignmentAssumption()
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
2019-01-24 19:32:48 +00:00
clang Add a priority field to availability attributes to prioritize explicit 2019-01-24 19:14:39 +00:00
clang-tools-extra [clang-tidy] Rename the absl duration helper functions; NFC 2019-01-24 19:23:50 +00:00
compiler-rt Disable LSan on NetBSD 2019-01-24 19:15:53 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
libcxx D14686: 'Protect against overloaded comma in random_shuffle and improve tests' I had to cut back on the tests with this, because they were not C++03 friendly. Thanks to gribozavr for the patch 2019-01-24 19:20:19 +00:00
libcxxabi [libcxxabi] Support building hermetic static library 2019-01-24 03:18:29 +00:00
libunwind [libunwind] Don't abort if encoutering invalid .eh_frame_hdr 2019-01-24 03:04:42 +00:00
lld Fix broken export table if .rdata is merged with .text. 2019-01-24 19:02:31 +00:00
lldb Unbreak windows bots 2019-01-24 19:16:45 +00:00
llgo Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
llvm [IRBuilder] Remove positivity check from CreateAlignmentAssumption() 2019-01-24 19:32:48 +00:00
openmp NFC: fixed formatting to be consistent across the file 2019-01-21 16:11:43 +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 Fix/unify top comment in lib/Analysis/PolyhedralInfo.cpp 2019-01-22 12:18:38 +00:00
pstl Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
.arcconfig Add an .arcconfig for the top of the git monorepo. 2019-01-11 16:27:14 +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.