C.C. Weems

University of Massachusetts Amherst, Amherst Center, MA, USA

Are you C.C. Weems?

Claim your profile

Publications (3)0 Total impact

  • Conference Proceeding: Towards universal code generator generation
    [show abstract] [hide abstract]
    ABSTRACT: One of the most difficult tasks a compiler writer faces is the construction of the code generator. The code generator is that part of the compiler that translates compiler intermediate representation (IR) into instructions for a target machine. Unfortunately, implementing a code generator "by hand" is a difficult, time consuming, and error prone task. The details of both the IR and target instruction set must be carefully considered in order to generate correct and efficient code. This, in turn, requires an expert in both the compiler internals as well as the target machine. Even an expert, however, can produce a code generator that is difficult to verify and debug. In this paper we present a universal approach for automating the construction of correct code generators. In particular, we show that both the compiler IR and target instruction set semantics can be described by a machine description language and leveraged by a heuristic search procedure to derive code generator patterns. We then utilize formal methods to determine if the IR and target sequence pairs that make up these patterns are semantically equivalent.
    Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on; 05/2008
  • Source
    Conference Proceeding: Modeling Modern Micro-architectures using CASL
    [show abstract] [hide abstract]
    ABSTRACT: We overview CASL, the CoGenT architecture specification language, a mixed behavioral-structure architecture description language designed to facilitate fast prototyping and tool generation for computer architectures with deep pipelines and complicated timing. We show how CASL can describe pipelines, dynamic information contexts, and contention using the DLX/MIPS architecture as an example.
    Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International; 04/2007
  • Source
    Conference Proceeding: The CoGenT project: co-generating compilers and simulators for dynamically compiled languages
    J.E.B. Moss, C.C. Weems, T. Richards
    [show abstract] [hide abstract]
    ABSTRACT: To understand the performance of modern Java systems one must observe execution in the context of specific architectures. It is also important that we make these observations using a compiler that is capable of producing optimizations that are specialized to the target machine. Current architectural simulators, however, provide little or no support for dynamically compiled languages and their environments. At the same time, high-quality optimizing compilers lack the flexibility needed to be quickly retargeted to architectural variations. Experimenting with innovative architectural ideas requires modifications not only to the simulator, but to the compiler backend as well. Currently, it is difficult if not impossible to accomplish exploration of this sort. This paper proposes a system for the coordinated effort of generating simulators and matching compiler backends automatically from machine descriptions. Machine descriptions are processed by tools to produce efficient compiler and simulator components and these components "plug in" to an existing framework. This system provides an exploratory environment for compiler writers, computer architects, and students, while maintaining the performance and flexibility required for evaluating real systems.
    Parallel and Distributed Processing Symposium, 2003. Proceedings. International; 05/2003

Institutions

  • 2007–2008
    • University of Massachusetts Amherst
      • Department of Computer Science
      Amherst Center, MA, USA