This talk describes non-uniform quantization of LDPC message-passing decoding which is optimal in the sense of maximizing mutual information. The first part of the talk is unrelated to LDPC codes, and just considers how to quantize the output of general DMCs. By using a result from concave optimization, the optimal quantizer is shown to be deterministic. For binary-input channels, the quantizer can be found by dynamic programing, which avoids the exponential complexity of concave optimization. The second part of the talk shows how to apply this quantization to the decoding of LDPC codes using a fixed number of bits per message. This results in non-uniform quantization which is locally optimal at each iteration. Global optimality of this approach is not guaranteed, but numerical results using two to four bits per message are favorable.