[PATCH] D73700: [CallSiteInfo] Fix the assertions regarding updating the CallSiteInfo

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 02:45:04 PST 2020


djtodoro marked an inline comment as done.
djtodoro added inline comments.


================
Comment at: llvm/lib/CodeGen/MachineLICM.cpp:1373
+  if (MI->isCall())
+    MF.eraseCallSiteInfo(MI);
+
----------------
vsk wrote:
> I'm a bit confused by this one. ExtractHoistableLoad can hoist a call? What cases `MI->isDereferenceableInvariantLoad(AA)` and `MI->isCall()` to both be true?
I was surprised as well.

The case I found this:
`CALL64m $rip, 1, $noreg, target-flags(x86-gotpcrel) @objc_msgSend, $noreg, <regmask $bh $bl $bp $bph $bpl $bx $ebp $ebx $hbp $hbx $rbp $rbx $r12 $r13 $r14 $r15 $r12b $r13b $r14b $r15b $r12bh $r13bh $r14bh $r15bh $r12d $r13d $r14d $r15d $r12w $r13w $r14w $r15w $r12wh and 3 more...>, implicit $rsp, implicit $ssp, implicit $rdi, implicit $rsi, implicit-def $rsp, implicit-def $ssp, implicit-def $rax :: (load 8 from got)` 

from the `llvm/test/CodeGen/X86/hoist-invariant-load.ll`




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

https://reviews.llvm.org/D73700





More information about the llvm-commits mailing list