[PowerPC] Fix assert from machine verify pass that missing undef register flag
authorZi Xuan Wu <wuzish@cn.ibm.com>
Fri, 7 Dec 2018 05:25:16 +0000 (05:25 +0000)
committerZi Xuan Wu <wuzish@cn.ibm.com>
Fri, 7 Dec 2018 05:25:16 +0000 (05:25 +0000)
commitcf4d477b0b49b4fb3293a20fb9fed6da199cdd38
treec135aef3a593707f1fd5ea8c2b5180383acb5225
parent51df880e7068cd73008a032bcf3d5fb3eefb3073
[PowerPC] Fix assert from machine verify pass that missing undef register flag

Fix assert about using an undefined physical register in machine instruction verify pass.
The reason is that register flag undef is missing when doing transformation from If Conversion Pass.

```
Bad machine code: Using an undefined physical register
- function:    func_65
- basic block: %bb.0 entry (0x10024740738)
- instruction: BCLR killed $cr5lt, implicit $lr8, implicit $rm, implicit undef $x3
- operand 0:   killed $cr5lt
LLVM ERROR: Found 1 machine code errors.
```

There are also other existing testcases with same issue. So I add -verify-machineinstrs option to open verifying.

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

llvm-svn: 348566
21 files changed:
llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
llvm/test/CodeGen/PowerPC/aantidep-inline-asm-use.ll
llvm/test/CodeGen/PowerPC/cr-spills.ll
llvm/test/CodeGen/PowerPC/ctr-cleanup.ll
llvm/test/CodeGen/PowerPC/ctrloop-large-ec.ll
llvm/test/CodeGen/PowerPC/ctrloop-udivti3.ll
llvm/test/CodeGen/PowerPC/early-ret2.ll
llvm/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll
llvm/test/CodeGen/PowerPC/merge-st-chain-op.ll
llvm/test/CodeGen/PowerPC/negctr.ll
llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll
llvm/test/CodeGen/PowerPC/pr16556.ll
llvm/test/CodeGen/PowerPC/pr25157-peephole.ll
llvm/test/CodeGen/PowerPC/pr25157.ll
llvm/test/CodeGen/PowerPC/stwu-sched.ll
llvm/test/CodeGen/PowerPC/stwux.ll
llvm/test/CodeGen/PowerPC/vsel-prom.ll
llvm/test/CodeGen/PowerPC/vsx-fma-mutate-undef.ll
llvm/test/CodeGen/PowerPC/xray-ret-is-terminator.ll
llvm/test/CodeGen/PowerPC/xvcmpeqdp-v2f64.ll