Created by: Superjomn
This is one part of Block's Implementation according to compile period of block design.
The block's implementation will be split into several stages, this is the first one which supports block's compile, to enable InferShape's development to be done parallel.
resolves: https://github.com/PaddlePaddle/Paddle/issues/4171