• DocumentCode
    2135354
  • Title

    Comparison of LLVM and GCC on the ARM Platform

  • Author

    Kim, Jae-Jin ; Lee, Seok-Young ; Moon, Soo-Mook ; Kim, Suhyun

  • Author_Institution
    VM&O Lab., Seoul Nat. Univ., Seoul, South Korea
  • fYear
    2010
  • fDate
    11-13 Aug. 2010
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    Virtual machines provide platform independence by using intermediate code. Program source code is compiled into intermediate code, which can be executed on many different platforms. Even though there are many virtual machines, there are not many virtual machines that can support C/C++, especially with high performance. Recently, Low Level Virtual Machine (LLVM) provides limited degree of architecture independence for C programs. Though it does not support multi-platform execution of complex programs, it is able to run simple benchmarks, enabling us to look into important aspects. In this paper, we analyze the performance impact of using intermediate code for C programs in the embedded system. Compared to the traditional native execution, LLVM has a little weakness in handling memory accesses, but generally shows competitive performance in other optimizations. Especially, in a benchmark with frequent function calls, LLVM exhibits even better performance than GCC.
  • Keywords
    C++ language; embedded systems; program compilers; virtual machines; ARM platform; C/C++; GCC; LLVM; architecture independence; complex programs; embedded system; frequent function calls; intermediate code; low level virtual machine; memory accesses; multiplatform execution; program source code; Assembly; Benchmark testing; Java; Linux; Optimization; Registers; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Embedded and Multimedia Computing (EMC), 2010 5th International Conference on
  • Conference_Location
    Cebu
  • Print_ISBN
    978-1-4244-7710-4
  • Type

    conf

  • DOI
    10.1109/EMC.2010.5575631
  • Filename
    5575631