Skip to content
  1. Aug 13, 2013
  2. Aug 12, 2013
  3. Aug 11, 2013
  4. Aug 10, 2013
  5. Aug 09, 2013
    • Reed Kotler's avatar
      Add another intrinsic that LLVM gives an incorrect prototype to. · be316cff
      Reed Kotler authored
      I need to go through all the runtime routine list and see if there
      are any more I need to add for mips16 floating point. Prototypes must
      be correct or else I don't know to add a helper function call.
      
      llvm-svn: 188106
      be316cff
    • Benjamin Kramer's avatar
      Add a overload to CostTable which allows it to infer the size of the table. · 21585fd9
      Benjamin Kramer authored
      Use it to avoid repeating ourselves too often. Also store MVT::SimpleValueType
      in the TTI tables so they can be statically initialized, MVT's constructors
      create bloated initialization code otherwise.
      
      llvm-svn: 188095
      21585fd9
    • Mihai Popa's avatar
      This fixes the Thumb2 CPS assembly syntax. · 4c2801f7
      Mihai Popa authored
      In Thumb1, only one variant is supported: CPS{effect} {flags}
      
      Thumb2 supports three:
      CPS{effect}.W {flags}
      CPS{effect} {flags} {mode}
      CPS {mode}
      
      Canonically, .W should be used only when ambiguity is present between encodings of different width.
      The wide suffix is still accepted for the latter two forms via aliases.
      
      llvm-svn: 188071
      4c2801f7
    • Mihai Popa's avatar
      Fix assembling of Thumb2 branch instructions. · ad18d3ce
      Mihai Popa authored
      The long encoding for Thumb2 unconditional branches is broken.
      Additionally, there is no range checking for target operands; as such 
      for instructions originating in assembly code, only short Thumb encodings
      are generated, regardless of the bitsize needed for the offset.
      
      Adding range checking is non trivial due to the representation of Thumb
      branch instructions. There is no true difference between conditional and
      unconditional branches in terms of operands and syntax - even unconditional
      branches have a predicate which is expected to match that of the IT block
      they are in. Yet, the encodings and the permitted size of the offset differ.
      
      Due to this, for any mnemonic there are really 4 encodings to choose for.
      
      The problem cannot be handled in the parser alone or by manipulating td files.
      Because the parser builds first a set of match candidates and then checks them
      one by one, whatever tablegen-only solution might be found will ultimately be
      dependent of the parser's evaluation order. What's worse is that due to the fact
      that all branches have the same syntax and the same kinds of operands, that 
      order is governed by the lexicographical ordering of the names of operand 
      classes...
      
      To circumvent all this, any necessary disambiguation is added to the instruction
      validation pass.
      
      llvm-svn: 188067
      ad18d3ce
    • Richard Sandiford's avatar
      [SystemZ] Update README · 9140910b
      Richard Sandiford authored
      llvm-svn: 188062
      9140910b
    • Jack Carter's avatar
      Mips ELF: MicroMips direct object Little endian support. · 7bd3c7d1
      Jack Carter authored
      Test included.
      
      Patch by Zoran Jovanovich
      
      llvm-svn: 188024
      7bd3c7d1
    • Michael J. Spencer's avatar
      [Object] Split the ELF interface into 3 parts. · 126973ba
      Michael J. Spencer authored
      * ELFTypes.h contains template magic for defining types based on endianess, size, and alignment.
      * ELFFile.h defines the ELFFile class which provides low level ELF specific access.
      * ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface.
      
      llvm-svn: 188022
      126973ba
  6. Aug 08, 2013
Loading