Dear LLVM developers,
I am migrating DragonEgg to GCC v6.3 and LLVM v3.9 just for fun and learn.
GCC API had been changed a lot, for example [no PLUGIN_REGISTER_GGC_CACHES any more](https://gcc.gnu.org/ml/gcc/2017-07/msg00076.html) so I need to be familiar with GCC v4.x (because DragonEgg [works better with GCC v4.6](http://dragonegg.llvm.org/)), v5.x and v6.x for learning how to migrate from GCC v4.x to GCC v6.x and even v8.x git master.
LLVM changed a lot too, for example: no getGlobalContext any more after rL266379 and I can git log to compare with release_33 branch.
Here is [the migration's issues](https://github.com/xiangzhai/dragonegg/issues) I hope fix all of them :) please review my patch, and give me some hints about migration or something else, thanks a lot!