In recent years, the utilization wall has become a serious problem that prevents processor performance from increasing. GreenDroid, a heterogeneous architecture, has been proposed to attack the utilization wall in the mobile domain. Conservation cores (C-Cores) are exploited in GreenDroid, and a C-Core is produced from Android application source code by an automated compiler tool chain. This thesis examines the design of a new LLVM-based compiler tool chain for the GreenDroid architecture. It examines the choice of LLVM as the base compiler, provides an overview of the GreenDroid system, and discusses the design and implementation of the compiler tool chain. A C- Core generated from the Android Dalvik garbage collector is employed as a detailed case study