Two FPPassManager objects, and LocalStackSlotAllocation::runOnMachineFunction returns true but has not changed the data

Good Morning, all,

I stumbled across a couple o’ three of curious things in the LLVM code. I’m too new to this to know whether these are functioning correctly or not. Guidance would be appreciated.

Perhaps it is something I have done wrong, but my executions of llc are creating two FPPassManager objects (that run different sets of passes). FPPassManager contains a static char ID (as expected), so I expected only one FPPassManager object to be constructed during a single execution.

LocalStackSlotAllocation::runOnMachineFunction returns true even when it has not changed the data (in any way that I can see).

The destructor of SelectionDAGISel deletes MF, a pointer to a member variable the class did not new.

Again, I’m too new to LLVM to know whether these things are as designed or unintentional.

Many Thanks,

JD Jones

Software Engineer

Paragon Research Corporation

Not a Contribution

This message is intended for the addressee only and may contain Paragon Research Corporation (PRC) confidential or privileged information. Use or distribution of such confidential information is strictly prohibited without the prior written permission of PRC. If you have received this message in error, please contact the sender immediately and delete the message and attachments from your computer.