rjmccall wrote:

Okay, looking at the patch, I see what you're doing and what you're trying to 
say in the PR description: x86_64 GlobalISel still doesn't support this bundle, 
so you've just changed it to force the use of SelectionDAG when it sees such a 
bundle.

Now, I accept that the backend change is an improvement in the abstract — it's 
bad that one instruction selector just fails to compile IR that's valid for the 
other instruction selector, so if GlobalISel can't support these bundles, it 
should definitely kick over to SelectionDAG. However, the point of GlobalISel 
is to make -O0 builds faster, which means that Clang should not be emitting IR 
constructs for common ObjC code patterns that would force the use of 
SelectionDAG, because that means we'll necessarily regress -O0 build times. So 
either this needs to continue to not use the bundle on x86_64 at -O0, or you 
need to implement the bundle properly witout kicking over to SelectionDAG.

https://github.com/llvm/llvm-project/pull/164875
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to