Inline assembly in LLVM backend

Hi Krzysztof,
Thanks for the suggestion. I’m using the wrapper function isTerminator provided in MachineInstr.h for that purpose.
I can’t use intrinsics because the application needs access to physical registers sometimes.

I am planning to run through all the inline asm statements and replace them with corresponding newly built MachineInstr objects. I plan to run through the entire function again to detect terminators and create basic blocks when a terminator is found in the middle of a basic block. However I’m seeing that some of the machine basic blocks are coming with a branch instruction followed by an immediate jump. This is because both the branches of an ‘if’ conidtion are not immediately following the basic block. At a design level, how do you think I should handle this. Is it OK to leave it like that? Or should I split into multiple basic blocks with the 2nd one having only 1 unconditional jump.

Vishwa Prakash A