llvm-capstone/llvm
Matthias Braun 8d03c49f49 Extend switch condition in optimizeSwitchPhiConst when free
In a case like:

    switch((i32)x) { case 42: phi((i64)42, ...); }

replace `(i64)42` with `zext(x)` when we can do so for free.

This fixes a part of https://github.com/llvm/llvm-project/issues/55153

Differential Revision: https://reviews.llvm.org/D124897
2022-05-18 16:23:53 -07:00
..
benchmarks
bindings
cmake [llvm][lldb] use FindLibEdit.cmake everywhere 2022-05-12 15:59:41 -07:00
docs [Security Group] Update representative for Rust. 2022-05-18 14:21:19 +02:00
examples Fix some -Wstrict-prototypes issues in ORC examples 2022-05-18 19:42:33 +00:00
include [Analysis] Avoid virtual dtor. NFC. 2022-05-18 17:41:17 -05:00
lib Extend switch condition in optimizeSwitchPhiConst when free 2022-05-18 16:23:53 -07:00
projects
resources
runtimes Partially revert "[CMake] Passthrough OSX CMake options to builtins and runtimes" 2022-05-18 17:02:02 +00:00
test Extend switch condition in optimizeSwitchPhiConst when free 2022-05-18 16:23:53 -07:00
tools [Debuginfod] Fix shared libs build break after eafa053041 2022-05-18 17:33:12 -05:00
unittests [IR] Report whether replaceUsesOfWith() changed something (NFC) 2022-05-18 11:46:28 +02:00
utils [gn build] Port 4d8268fbf4 2022-05-18 18:23:14 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Generalize "check-all" umbrella targets, use for check-clang-tools 2022-05-06 12:30:49 +02:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
README.txt
RELEASE_TESTERS.TXT

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.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.