[PATCH] D101601: [SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 7 16:06:29 PDT 2021


craig.topper added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:273-276
+    if (TLI->getSchedulingPreference() == Sched::Fast)
+      return createFastDAGScheduler(IS, OptLevel);
+    if (TLI->getSchedulingPreference() == Sched::Linearize)
+      return createDAGLinearizer(IS, OptLevel);
----------------
craig.topper wrote:
> TaoPan wrote:
> > pengfei wrote:
> > > I saw they are always registered in ScheduleDAGFast.cpp:
> > > https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp#L36
> > > Why do we register them again here?
> > Please also help to have a review of the Summary. It's a little bit of a trick. ScheduleDAGFast.cpp is compiled to object file, but the object file isn't linked into clang executable file as no symbol is referred by outside without this patch.
> That wasn't very clear from your summary. The "the object file isn't linked into clang executable file as no symbol is referred by outside without this patch" in this comment was much more help. Can you put something like that in summary?
> 
> Why are they being stripped from clang but not llc?
Oh I see, llc uses include/llvm/CodeGen/LinkAllCodegenComponents.h to force these to link in.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101601



More information about the cfe-commits mailing list