diff options
author | aqjune <aqjune@gmail.com> | 2019-11-07 01:17:49 +0900 |
---|---|---|
committer | aqjune <aqjune@gmail.com> | 2019-11-12 10:49:00 +0900 |
commit | e87d71668e10f51abe4b2f1f3c44591aca783750 (patch) | |
tree | c33db0298cc2ef75a9c7fd30bf082f6e150c527a /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
parent | c46b3a2abd38d6fecd389c97dfa7df54af77fdb9 (diff) | |
download | bcm5719-llvm-e87d71668e10f51abe4b2f1f3c44591aca783750.tar.gz bcm5719-llvm-e87d71668e10f51abe4b2f1f3c44591aca783750.zip |
[IR] Redefine Freeze instruction
Summary:
This patch redefines freeze instruction from being UnaryOperator to a subclass of UnaryInstruction.
ConstantExpr freeze is removed, as discussed in the previous review.
FreezeOperator is not added because there's no ConstantExpr freeze.
`freeze i8* null` test is added to `test/Bindings/llvm-c/freeze.ll` as well, because the null pointer-related bug in `tools/llvm-c/echo.cpp` is now fixed.
InstVisitor has visitFreeze now because freeze is not unaryop anymore.
Reviewers: whitequark, deadalnix, craig.topper, jdoerfert, lebedev.ri
Reviewed By: craig.topper, lebedev.ri
Subscribers: regehr, nlopes, mehdi_amini, hiraditya, steven_wu, dexonsmith, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69932
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 914edad0b8b..18fef7db9c7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -10593,7 +10593,7 @@ void SelectionDAGBuilder::visitSwitch(const SwitchInst &SI) { } } -void SelectionDAGBuilder::visitFreeze(const User &I) { +void SelectionDAGBuilder::visitFreeze(const FreezeInst &I) { SDValue N = getValue(I.getOperand(0)); setValue(&I, N); } |