[GlobalISel][IRTranslator] Move line zero DebugLoc creation to constant translation. NFC.
This is a compile time optimization. DILocation:get() is expensive to call, and we were calling it to create a line zero debug loc for *every* instruction we translated. We only really need to do this just before we build constants in the entry block, so I moved this code there. This reduces the LLVM -O0 codegen time of sqlite3 IR by around 0.7% instructions executed and by about ~2% in CPU time. We can probably do better with a more involved change, since the reason we need to create one for each new constant is because we're using the debug scope and inlined-at loc. If we just use a single instruction's scope and drop the inlined-at, we can just cache these and have them be free.
Loading
Please sign in to comment