1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test
Craig Topper 9d88bde411 [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly.
INC/DEC is really a special case of a more generic issue. We should also turn leas into add reg/reg or add reg/imm regardless of the slow lea flags.

This also supports LEA64_32 which has 64 bit input registers and 32 bit output registers. So we need to convert the 64 bit inputs to their 32 bit equivalents to check if they are equal to base reg.

One thing to note, the original code preserved the kill flags by adding operands to the new instruction instead of using addReg. But I think tied operands aren't supposed to have the kill flag set. I dropped the kill flags, but I could probably try to preserve it in the add reg/reg case if we think its important. Not sure which operand its supposed to go on for the LEA64_32r instruction due to the super reg implicit uses. Though I'm also not sure those are needed since they were probably just created by an INSERT_SUBREG from a 32-bit input.

Differential Revision: https://reviews.llvm.org/D61472

llvm-svn: 361691
2019-05-25 06:17:47 +00:00
..
Analysis [CodeMetrics] Don't let extends of i1 be free. 2019-05-17 01:26:35 +00:00
Assembler Match types of accumulator and result for llvm.experimental.vector.reduce.fadd/fmul 2019-05-20 09:54:06 +00:00
Bindings Fixed the Bindings/OCaml/core.ml test 2019-05-20 14:06:21 +00:00
Bitcode [IR] allow fast-math-flags on select of FP values 2019-05-22 15:50:46 +00:00
BugPoint [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
CodeGen [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +00:00
DebugInfo llvm-dwarfdump: Don't error on mixed units using/not using str_offsets 2019-05-25 00:07:22 +00:00
Demangle llvm-undname: Fix an assert-on-invalid, found by oss-fuzz 2019-05-22 15:53:23 +00:00
Examples
ExecutionEngine Fix 2-field llvm.global_ctors REQUIRES: asserts tests after rL360742 2019-05-15 03:08:21 +00:00
Feature [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
FileCheck [FileCheck] Introduce substitution subclasses 2019-05-23 00:10:29 +00:00
Instrumentation HWASan exception support. 2019-05-16 23:54:41 +00:00
Integer
JitListener
Linker [IRMover] Improve diagnostic messages for conflicting metadata 2019-05-16 05:23:13 +00:00
LTO [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
MachineVerifier
MC [AArch64][SVE2] Asm: support SVE2 String Processing Group 2019-05-24 10:32:01 +00:00
Object [llvm-readelf] - Rework how we parse the .dynamic section. 2019-05-20 15:41:48 +00:00
ObjectYAML
Other [SLPVectorizer] Set flag to previous default. 2019-05-23 19:07:41 +00:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
ThinLTO/X86 Fix 2-field llvm.global_ctors REQUIRES: asserts tests after rL360742 2019-05-15 03:08:21 +00:00
tools [X86] Add zero idioms to the haswell, broadwell, and skylake schedule models. Add 256-bit fp xor to sandybridge zero idioms 2019-05-25 04:47:49 +00:00
Transforms [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly. 2019-05-25 06:17:47 +00:00
Unit
Verifier [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
YAMLParser
.clang-format
CMakeLists.txt [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
lit.cfg.py [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
lit.site.cfg.py.in [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
TestRunner.sh