llvm-6502/test
Ahmed Bougacha 995f4f8fd1 [CodeGen][IfCvt] Don't re-ifcvt blocks with unanalyzable terminators.
If we couldn't analyze its terminator (i.e., it's an indirectbr, or some
other weirdness), we can't safely re-if-convert a predicated block,
because we can't tell whether the predicated terminator can
fallthrough (it does).

Currently, we would completely ignore the fallthrough successor. In
the added testcase, this means we used to generate:

    ...
  @ %entry:
    cmp   r5, #21
    ittt  ne
  @ %cc1f:
    cmpne r7, #42
  @ %cc2t:
    strne.w       r5, [r8]
    movne pc, r10
  @ %cc1t:
    ...

Whereas the successor of %cc1f was originally %bb1.
With the fix, we get the correct:

    ...
  @ %entry:
    cmp   r5, #21
    itt   eq
  @ %cc1t:
    streq.w       r5, [r11]
    moveq pc, r0
  @ %cc1f:
    cmp   r7, #42
    itt   ne
  @ %cc2t:
    strne.w       r5, [r8]
    movne pc, r10
  @ %bb1:
    ...

rdar://20192768
Differential Revision: http://reviews.llvm.org/D8509


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232872 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-21 01:23:15 +00:00
..
Analysis When simplifying a SCEV truncate by distributing, consider it a simplification to replace a cast, even if we end up with a trunc around the term. Fixes PR22960! 2015-03-20 02:25:00 +00:00
Assembler
Bindings
Bitcode
BugPoint Bugpoint: Fix invalid 'inlinedAt:' references in testcase 2015-03-20 19:51:34 +00:00
CodeGen [CodeGen][IfCvt] Don't re-ifcvt blocks with unanalyzable terminators. 2015-03-21 01:23:15 +00:00
DebugInfo Don't declare all text sections at the start of the .s 2015-03-20 20:00:01 +00:00
ExecutionEngine
Feature Rewrite test/Feature/md_on_instruction.ll 2015-03-20 18:34:53 +00:00
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO libLTO, llvm-lto, gold: Introduce flag for controlling optimization level. 2015-03-19 22:01:00 +00:00
MC Reorganize the x86 ELF relocation selection logic. 2015-03-20 19:48:54 +00:00
Object
Other
SymbolRewriter
TableGen
tools test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Transforms [X86, AVX] instcombine common cases of vperm2* intrinsics into shuffles 2015-03-20 21:47:56 +00:00
Unit
Verifier Verifier: Check that !dbg attachments have the right type 2015-03-20 19:26:58 +00:00
YAMLParser
.clang-format
CMakeLists.txt test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
lit.cfg Tell lit.cfg about more Windows triples. 2015-03-20 22:08:40 +00:00
lit.site.cfg.in test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile.tests
TestRunner.sh