Hi, my name is Wenqing(Wendell) Zhuang who is a Ph.D student in the college of EECS of Syracuse University in US, I am currently writing a machine pass of LLVM which checks if a pointer points to an address that is out of a certain range. So in that pass, I need to determine if a pointer points to a stack slot or to a non-stack area(e.g heap), I call the function: X86InstrInfo::isLoadFromStackSlot(const MachineInstr *MI, int &FrameIndex) in my pass which is added in X86PassConfig::addPreEmitPass(), however, that function always return 0 for every Machine Instruction, and returned FrameIndex is always 0, my pass is executed before code emit and after register allocation, but isLoadFromStackSlot and isStoreToStackSlot do not work as I expected in my pass,I can hardly figure out why.
I really appreciate if anyone can help me with this. Thanks. The best!
Department of Electrical Engineering and Computer Science
Syracuse University, US