llvm-6502/lib
Richard Sandiford 90a34679ef [SystemZ] Fix choice of known-zero mask in insertion optimization
The backend converts 64-bit ORs into subreg moves if the upper 32 bits
of one operand and the low 32 bits of the other are known to be zero.
It then tries to peel away redundant ANDs from the upper 32 bits.

Since AND masks are canonicalized to exclude known-zero bits,
the test ORs the mask and the known-zero bits together before
checking for redundancy.  The problem was that it was using the
wrong node when checking for known-zero bits, so could drop ANDs
that were still needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196267 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 11:01:54 +00:00
..
Analysis
AsmParser Debug Info: drop debug info via upgrading path if version number does not match. 2013-12-02 21:29:56 +00:00
Bitcode Debug Info: drop debug info via upgrading path if version number does not match. 2013-12-02 21:29:56 +00:00
CodeGen Added MachineBlockFrequencyInfo::view for displaying the block frequency propagation graph via graphviz. 2013-12-03 00:49:33 +00:00
DebugInfo
ExecutionEngine Use the mangler consistently instead of using getGlobalPrefix directly. 2013-11-28 08:59:52 +00:00
IR llvm-cov: Cleaned up print() function slightly. 2013-12-03 01:35:31 +00:00
IRReader
Linker
LTO
MC Refactor the setting of PrivateGlobalPrefix. 2013-12-02 23:39:26 +00:00
Object
Option
Support
TableGen
Target [SystemZ] Fix choice of known-zero mask in insertion optimization 2013-12-03 11:01:54 +00:00
Transforms Use local variable for repeated use rather than 'get' method. No functional change intended. 2013-12-02 22:23:32 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile