• EEC
    • power saving control by compiler
    • providing tile placement pattern using generic function
    • register allocation to indexed registers
    • DAE architecture in EEC
    • Scalability compare to vector architecture.
    • Efficient H.264 imeplementation
    • Loop property evaluation for embedded kernels like software pipelining experiments on scientific kernels.
  • General Computer Architecture
    • Security check using hyper threading
    • Methodology of reducing communication overhead from organization management.
    • Implement 3D topology using 3D semiconductor fab tech.
    • Efficient divide simulation by compiler.
    • Architecture state exposure for JIT compiler.
    • Software engineering on compiler
    • Detecting function which has no side effect and use them for code motion.
    • Using SSA for loop analysis.
    • Viewing phase ordering problem, compiler optimization and procesor dynamic optimization as a filters of signal processing.
    • Statistics on instructions
    • Hardware support for exception
    • Compiler optimization for function call memoization
    • Fast quicksort with satellite data
    • Efficient heap allocation algorithm which enables hardware prefetching for linked list data structure.
    • Hardware support for reference counting / garbage collection
    • Loop data dependency analysis for index expression with modular operation
    • Garbage collection or memory allocation optimization in procesor in memory
    • Efficient implementation of ECC algorithm in embedded processors.
    • Detecting immutability of a function in runtime
    • Predicting the future user interaction.
    • Compilation for reliability
    • Software/Hardware cooperation for reliability and security
    • Use 3D device to implement clos network.
    • Compiler aided super paging
    • Data structure recognizing compiler
      • Automatic Data Structure Selection?
    • Refactoring regarding to Java Collection library
    • ROBDD and SSA
    • Distinguishing btw address and real data
  • EEC Compiler
    • Optimization opportunity?
      • multiple consumers
      • explicit forwarding
    • explicit decoupling data movement operations and computations
    • applying path finding based scheduling algorithm on gcc.
    • applying reverse constant propagation on ARM
      • benefit: no need of "reverse" opcodes.
    • Think about a theoretical concepts useful for parallelization (e.g. dominator used in SSA)
    • compiler generated non-blocking communication during kernel splitting
    • several program decomposition for different objective
    • compiler optimizations when there is an infinite loop
  • Programming Language
    • If we use a copy constructor of TreeSet, if we pass an argument with Set type, even if the runtime type of the argument is TreeSet, it does not copy the comparator

    • Automatic memoization
    • Applying wisdom from OOP (e.g. encapsulation) for devising a language construct for multi-core processor with software controlled memory.