Iteration on dterei's metadata design
authorPeter Wortmann <scpmw@leeds.ac.uk>
Fri, 21 Jun 2013 16:23:00 +0000 (17:23 +0100)
committerDavid Terei <davidterei@gmail.com>
Thu, 27 Jun 2013 20:39:11 +0000 (13:39 -0700)
commit12148d91bc0b0ab68392491bd1c927d7a8698205
treef323aa034eb3976a1177e9db3ede6deb89007e17
parent3b1d920ef867b459abebe22c27102fd1e685607c
Iteration on dterei's metadata design

- MetaArgs is not needed, as variables are already meta data

- Same goes for MetaVal - its only reason for existing seems to be to
  support LLVM's strange pretty-printing for meta-data annotations, and
  I feel that is better to keep the data structure clean and handle it in
  the pretty-printing instead.

- Rename "MetaData" to "MetaAnnot". Meta-data is still meta-data when it
  is not associated with an expression or statement - for example compile
  unit data for debugging. I feel the old name was a bit misleading.

- Make the renamed MetaAnnot a proper data type instead of a type alias
  for a pair.

- Rename "MetaExpr" constructor to "MetaStruct". As the data is much more
  like a LLVM structure (not array, as it can contain values).

- Fix a warning
compiler/llvmGen/Llvm.hs
compiler/llvmGen/Llvm/AbsSyn.hs
compiler/llvmGen/Llvm/MetaData.hs
compiler/llvmGen/Llvm/PpLlvm.hs
compiler/llvmGen/Llvm/Types.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/llvmGen/LlvmCodeGen/Regs.hs