Which register allocator is used for each -O level?

I notice this from the “Getting Started with LLVM Core Libraries” book:

“The default allocator is mapped to one of the four options and is selected
depending on the current optimization level (the -O option).”

(the four options being pbqp, greedy, basic, fast)

Which -O option maps to which of these four options?


Hi Phil,

O0 should be the fast allocator and anything else should be greedy allocator.
Though IIRC, the target can override this behavior.