Skip pointer values so they don't unnecessarily prevent the transformation.
Details
Diff Detail
- Repository
- rL LLVM
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 ↗ | (On Diff #160575) | 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.