Servius Womack via llvm-dev
2016-Oct-13 18:56 UTC
[llvm-dev] Target DAG-combine vs. Target custom lowering
Hi, I am new to LLVM. I read the the Codegen documentation, and browsed thru the code of some of the backends. One thing i didn't understand was when should a transformation happen in the TargetLowering::PerformDAGCombine and not in the custom lowering phase. Thanks, Servius -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161013/d9c02eb0/attachment.html>
Krzysztof Parzyszek via llvm-dev
2016-Oct-13 19:47 UTC
[llvm-dev] Target DAG-combine vs. Target custom lowering
On 10/13/2016 1:56 PM, Servius Womack via llvm-dev wrote:> Hi, > > I am new to LLVM. I read the the Codegen documentation, and browsed thru > the code of some of the backends. One thing i didn't understand was when > should a transformation happen in the TargetLowering::PerformDAGCombine > and not in the custom lowering phase.Lowering is really "legalization", so rewriting some construct in a form that is legal on your target. This only happens once. Combining is mostly an optimization, and it happens several times, including before and after legalization. -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation