nv50/ir/opt: make optimization aware of atomics, barriers, surface ops
nv50/ir: initialize CodeEmitters' specialized target fields
nvc0/ir/emit: implement surface related ops
nvc0/ir/emit: implement move to and logic ops on predicates
nv50/ir: add support for indirect BRA,CALL
nv50/ir/opt: CALLs cannot load
nvc0/ir/target: some ops can't be predicated, e.g. CALL
nv50/ir/emit: handle OP_ATOM
nvc0/ir/emit: implement INSBF, EXTBF, PERMT and ATOM
nvc0/ir: lower atomics in s[]
nv50/ir: extend moveSources for delta < 0
nvc0/ir: add formatted surface load lib code, move to extra header

OpenGL is nice and makes the user specify a format with an image unit.
OpenCL is evil and doesn't, and what's better than adding a huge load
of functions that we call indirectly to handle the conversion ?
nvc0/ir: implement lowering of surface ops for nve4