search for: getusesredzon

Displaying 2 results from an estimated 2 matches for "getusesredzon".

Did you mean: getusesredzone
2020 Nov 12
2
LLVM X86 MachineBasicBlock inserting push and pop instructions causes segmentation fault
Hello, I am working on a project where I need to insert some logic before each machine basic block. In particular, it involves setting some global variables and calling a function. I'm able to add the instructions and verify they get added, but when the compiled program runs, it stops with a segfault. For brevity, I'm not sharing the whole code here but basically I have a X86
2020 Nov 12
0
LLVM X86 MachineBasicBlock inserting push and pop instructions causes segmentation fault
Best guess is that you're clobbering something in the red zone. https://en.wikipedia.org/wiki/Red_zone_(computing). It's not guarantee that the area of the stack above the stack pointer is unused. I think you can check if the redzone is used by checking getUsesRedZone() in X86MachineFunctionInfo. If the red zone is used, its not safe to insert a push/pop. I think you can turn off the red zone by passing -mno-red-zone to clang. ~Craig On Thu, Nov 12, 2020 at 10:18 AM vignesh babu via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hello, > >...