[llvm-commits] [llvm] r163495 - /llvm/trunk/lib/CodeGen/StackColoring.cpp

Nadav Rotem nrotem at apple.com
Mon Sep 10 13:37:52 PDT 2012


Hi Jakob,


> The assertion is good, but I don't think CodeGen passes know how to preserve the invariant.

I agree.  I am mostly worried about IR-level optimizations (including CodegenPrepare). The stack-coloring pass runs right after ISel, so I don't expect too much noise coming from the codegen itself. 

> Many CodeGen passes are moving code around, including loads and stores. The lifetime markers oughtn't affect these optimizations, so either the optimizations must learn to update the lifetime markers, or the stack coloring pass must recognize when FI references have escaped the lifetime markers.

It should be pretty easy to teach the stack coloring pass to handle runaway frame indices. But once we do that it will be difficult for us to find the optimization passes which move stores across lifetime markers. I would like to fix violating optimizations which we'll catch using the assertions.


Thanks,
Nadav



More information about the llvm-commits mailing list