Explain jhc's compile pipeline.