1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Go to file
Yi-Hong Lyu ac25f31b43 [PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR bit spills
We lower known CR bit spills (CRSET/CRUNSET) to load and spill the known value
but forgot to remove the redundant spills.

e.g., This sequence was used to spill a CRUNSET:
    crclr   4*cr5+lt
    mfocrf  r3,4
    rlwinm  r3,r3,20,0,0
    stw     r3,132(r1)

Custom lowering of known CR bit spills lower it to:
    crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
    li  r3,0
    stw r3,132(r1)

crxor is redundant if there is no use of 4*cr5+lt so we should remove it

Differential revision: https://reviews.llvm.org/D67722
2019-11-08 15:32:31 +00:00
benchmarks
bindings Update version number in llvm python bindings 2019-10-25 17:14:11 -04:00
cmake [cmake] Enable thin lto cache when building with lld-link 2019-11-08 10:47:29 +00:00
docs [docs] Fix references to a renamed flag. 2019-11-06 14:42:57 -08:00
examples Break out OrcError and RPC 2019-10-29 17:31:28 -07:00
include raw_ostream - fix static analyzer warnings. NFCI. 2019-11-08 15:09:55 +00:00
lib [PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR bit spills 2019-11-08 15:32:31 +00:00
projects Add few docs and implementation of strcpy and strcat. 2019-10-04 17:30:54 +00:00
resources
runtimes
test [PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR bit spills 2019-11-08 15:32:31 +00:00
tools [debugify] Move the Debugify pass from tools/opt to lib/Transform/Utils 2019-11-07 14:41:54 -08:00
unittests [ConstantRange] Add umul_sat()/smul_sat() methods 2019-11-08 17:52:43 +03:00
utils find_interesting_reviews.py: avoid crash on non-ascii data. 2019-11-08 14:51:36 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt build: remove LLVM_CXX_STD extension point 2019-10-25 11:51:47 -07:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2019-10-03 14:57:49 +00:00
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.