VM ▁has ▁become ▁an ▁um bre lla ▁project ▁containing ▁multiple ▁components . ▁ ▁Front ▁ends ▁LL VM ▁was ▁originally ▁written ▁to ▁be ▁a ▁replacement ▁for ▁the ▁existing ▁code ▁generator ▁in ▁the ▁G CC ▁stack , ▁and ▁many ▁of ▁the ▁G CC ▁front ▁ends ▁have ▁been ▁modified ▁to ▁work ▁with ▁it , ▁resulting ▁in ▁the ▁now - def unct ▁ll vm - gcc ▁suite . ▁The ▁modifications ▁generally ▁involve ▁a ▁G I MP LE - to - LL VM ▁IR ▁step ▁so ▁that ▁LL VM ▁optim izers ▁and ▁code gen ▁can ▁be ▁used ▁instead ▁of ▁G CC ' s ▁G I MP LE ▁system . ▁Apple ▁has ▁histor ically ▁been ▁an ▁important ▁user ▁of ▁ll vm - gcc .. ▁This ▁( use ▁of ▁G CC ▁front end ) ▁was ▁considered ▁mostly ▁a ▁temporary ▁measure , ▁but ▁with ▁the ▁advent ▁of ▁cl ang ▁and ▁advantages ▁of ▁LL VM ▁and ▁cl ang ' s ▁modern ▁and ▁mod ular ▁code base ▁( as ▁well ▁as ▁compilation ▁speed ), ▁is ▁mostly ▁ob sole te . ▁ ▁LL VM ▁currently ▁supports ▁compiling ▁of ▁Ada , ▁C , ▁C ++, ▁D , ▁Del phi , ▁Fort ran , ▁H askell , ▁Julia , ▁Object ive - C , ▁R ust , ▁and ▁Swift ▁using ▁various ▁front ▁ends . ▁ ▁W ides p read ▁interest ▁in ▁LL VM ▁has ▁led ▁to ▁several ▁efforts ▁to ▁develop ▁new ▁front ▁ends ▁for ▁a ▁variety ▁of ▁languages . ▁The ▁one ▁that ▁has ▁received ▁the ▁most ▁attention ▁is ▁Cl ang , ▁a ▁new ▁compiler ▁supporting ▁C