| Index: src/IceTargetLowering.cpp
|
| diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp
|
| index 28a7ca7828fa8c2c059f97e58bc22a738b9156a6..bd5c11b47e4fd0548a6084bf3a0c75a4516f0f42 100644
|
| --- a/src/IceTargetLowering.cpp
|
| +++ b/src/IceTargetLowering.cpp
|
| @@ -459,6 +459,26 @@ void TargetLowering::markRedefinitions() {
|
| }
|
| }
|
|
|
| +void TargetLowering::addFakeDefUses(const Inst *Instr) {
|
| + FOREACH_VAR_IN_INST(Var, *Instr) {
|
| + if (auto *Var64 = llvm::dyn_cast<Variable64On32>(Var)) {
|
| + Context.insert<InstFakeUse>(Var64->getLo());
|
| + Context.insert<InstFakeUse>(Var64->getHi());
|
| + } else {
|
| + Context.insert<InstFakeUse>(Var);
|
| + }
|
| + }
|
| + Variable *Dest = Instr->getDest();
|
| + if (Dest == nullptr)
|
| + return;
|
| + if (auto *Var64 = llvm::dyn_cast<Variable64On32>(Dest)) {
|
| + Context.insert<InstFakeDef>(Var64->getLo());
|
| + Context.insert<InstFakeDef>(Var64->getHi());
|
| + } else {
|
| + Context.insert<InstFakeDef>(Dest);
|
| + }
|
| +}
|
| +
|
| void TargetLowering::sortVarsByAlignment(VarList &Dest,
|
| const VarList &Source) const {
|
| Dest = Source;
|
|
|