Skip pointer values so they don't unnecessarily prevent the transformation.
Details
Diff Detail
Event Timeline
Rebased and fixed the handling of undef values. I've also moved the tests around so we have a standalone file for the call tests. Also added a small piece of control to decide whether we bother to promote or not: if we find nothing but sources, sinks and the icmp, then we don't bother doing anything.
Nit picking the subject/description:
Ignore pointer values in ARMCodeGenPrepare
and
Skip pointer values so they don't unnecessarily prevent the transformation.
But pointer types are now supported types. Thus you're actually *allowing* them, not ignoring/skipping. Not only is 'allowing' a more positive twist, I also think it is clearer :)
lib/Target/ARM/ARMCodeGenPrepare.cpp | ||
---|---|---|
634 | Do you need to test this again? It looks like this is already done in a few place, e.g. line 588. | |
test/CodeGen/ARM/arm-cgp-calls.ll | ||
93 ↗ | (On Diff #160575) | Do you want to test something here? |
Removed the unnecessary isa<Instruction> checks and updated the test to actually test.
Do you need to test this again? It looks like this is already done in a few place, e.g. line 588.