Share deserialized PCH AST between successive libclang compile actions?

I need to JIT compile a large number of tiny C++ functions (not easily batchable/predictable in advance) that rely on the same large (40MB) .pch file; implicitly including the .pch file takes ~500ms even if nothing in the source file uses those definitions, versus 1-2ms when not implicitly including the .pch.

Is there a way to do some/all of the loading/deserialization work up-front and reuse it between successive compiles?