[PATCH] D45541: [globalisel] Update GlobalISel emitter to match new representation of extending loads

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 8 08:57:13 PDT 2018


dsanders added a comment.

> I think we lost 0.5% on compile time on CTMark because of this. Is there any scope left here for performance improvements? With the addition of the combiner landing later, I expect a further CT hit so anything we can do here would be good.

I'm not surprised we lost a bit on compile-time since we're now checking the MMO Size on a G_LOAD instead of just assuming it matches the type but that's higher than I had expected. I can see some optimizations for G_SEXTLOAD/G_ZEXTLOAD since they're only legal when they're an extend so they could just drop the check in the optimized table. The reason we can't do that to G_LOAD is because we need to distinguish any-extending loads from non-extending loads using this check. This might be a good reason to separate the anyext case into a G_EXTLOAD as it will allow us to skip the check on both G_EXTLOAD and G_LOAD


Repository:
  rL LLVM

https://reviews.llvm.org/D45541





More information about the llvm-commits mailing list