r600g/llvm: Pass struct r600_bytecode to r600_llvm_compile

This way we don't need to update the function signature everytime we
emit a new config value.  This also fixes the build with
--enable-opencl.
glsl: Add virtual function ir_instruction::as_jump()

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Teach basic block analysis about break/continue/discard.

Previously, the only kind of ir_jump that would terminate a basic
block was "return".  However, the other possible types of ir_jump
("break", "continue", and "discard") should terminate a basic block
too.  This patch modifies basic block analysis so that it terminates a
basic block on any type of ir_jump, not just ir_return.

Fixes piglit test dead-code-break-interaction.shader_test.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>