[PATCH] D65497: [RISCV] Avoid generating AssertZext for LP64 ABI when lowering floating Libcall

Shiva Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 19 19:35:27 PDT 2019


shiva0217 marked 2 inline comments as done.
shiva0217 added inline comments.
Herald added a subscriber: pzheng.


================
Comment at: include/llvm/CodeGen/TargetLowering.h:3560
     bool IsPostTypeLegalization : 1;
+    SDNode *NodeBeforeSoften = nullptr;
 
----------------
luismarques wrote:
> This new field makes the parent struct a bit misnamed, and something about this approach of passing the node in the options smells a bit to me, but I couldn't come up with a better alternative. Also, for alignment purposes it's probably better to put the SDNode pointer before the flags.
Agree, the parent struct becomes a bit misnamed with the new field, but I can't come up a better way, either. I'll move up the new field, thanks.


================
Comment at: lib/CodeGen/SelectionDAG/TargetLowering.cpp:137
     Entry.Ty = Entry.Node.getValueType().getTypeForEVT(*DAG.getContext());
-    Entry.IsSExt = shouldSignExtendTypeInLibCall(Op.getValueType(),
+    Entry.IsSExt = shouldSignExtendTypeInLibCall(NewOp.getValueType(),
                                                  CallOptions.IsSExt);
----------------
luismarques wrote:
> No point in calling `shouldSignExtendTypeInLibCall` if `shouldExt` is false. Refactor the flow?
Thanks for catching this. It seems much cleaner.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65497/new/

https://reviews.llvm.org/D65497





More information about the llvm-commits mailing list