Skip to content
  1. Sep 07, 2012
    • Benjamin Kramer's avatar
      MC: Overhaul handling of .lcomm · 47f9ec92
      Benjamin Kramer authored
      - Darwin lied about not supporting .lcomm and turned it into zerofill in the
        asm parser. Push the zerofill-conversion down into macho-specific code.
      - This makes the tri-state LCOMMType enum superfluous, there are no targets
        without .lcomm.
      - Do proper error reporting when trying to use .lcomm with alignment on a target
        that doesn't support it.
      - .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
      - Fixes PR13755 (.lcomm crashes on ELF).
      
      llvm-svn: 163395
      47f9ec92
    • Benjamin Kramer's avatar
      PR13754: llvm-mc/x86 crashes on .cfi directives without the % prefix for registers. · e3d658bb
      Benjamin Kramer authored
      gas accepts this and it seems to be common enough to be worth supporting. This
      doesn't affect the parsing of reg operands outside of .cfi directives.
      
      llvm-svn: 163390
      e3d658bb
    • Benjamin Kramer's avatar
      fa530570
    • Hans Wennborg's avatar
      SimplifyCFG: ValidLookupTableConstant should be static · 08238adb
      Hans Wennborg authored
      llvm-svn: 163378
      08238adb
    • Michael Liao's avatar
      Stop emitting lifetime region info when stack coloring is not enabled in O0 · b7cd3419
      Michael Liao authored
      - this should fix PR13780
      
      llvm-svn: 163370
      b7cd3419
    • Jack Carter's avatar
      The Mips standalone assembler aliased instruction support. · 97158ca5
      Jack Carter authored
      The assembler can alias one instruction into another based
      on the operands. For example the jump instruction "J" takes
      and immediate operand, but if the operand is a register the
      assembler will change it into a jump register "JR" instruction.
      
      These changes are in the instruction td file.
      
      Test cases included
      
      Contributer: Vladimir Medic
      llvm-svn: 163368
      97158ca5
    • Jack Carter's avatar
      The Mips standalone assembler intial directive support. · be33217b
      Jack Carter authored
      Actually these are just stubs for parsing the directives.
      Semantic support will come later.
      
      Test cases included
      
      Contributer: Vladimir Medic
      llvm-svn: 163364
      be33217b
    • Jack Carter's avatar
      The Mips standalone assembler fpu instruction support. · a63b16ac
      Jack Carter authored
      Test cases included
      
      Contributer: Vladimir Medic
      llvm-svn: 163363
      a63b16ac
    • Michael Liao's avatar
      Re-work bit/bits value resolving in tblgen · 026f8333
      Michael Liao authored
      - This patch is inspired by the failure of the following code snippet
        which is used to convert enumerable values into encoding bits to
        improve the readability of td files.
      
        class S<int s> {
          bits<2> V = !if(!eq(s, 8),  {0, 0},
                      !if(!eq(s, 16), {0, 1},
                      !if(!eq(s, 32), {1, 0},
                      !if(!eq(s, 64), {1, 1}, {?, ?}))));
        }
      
        Later, PR8330 is found to report not exactly the same bug relevant
        issue to bit/bits values.
      
      - Instead of resolving bit/bits values separately through
        resolveBitReference(), this patch adds getBit() for all Inits and
        resolves bit value by resolving plus getting the specified bit. This
        unifies the resolving of bit with other values and removes redundant
        logic for resolving bit only. In addition,
        BitsInit::resolveReferences() is optimized to take advantage of this
        origanization by resolving VarBitInit's variable reference first and
        then getting bits from it.
      
      - The type interference in '!if' operator is revised to support possible
        combinations of int and bits/bit in MHS and RHS.
      
      - As there may be illegal assignments from integer value to bit, says
        assign 2 to a bit, but we only check this during instantiation in some
        cases, e.g.
      
        bit V = !if(!eq(x, 17), 0, 2);
      
        Verbose diagnostic message is generated when invalid value is
        resolveed to help locating the error.
      
      - PR8330 is fixed as well.
      
      llvm-svn: 163360
      026f8333
    • David Blaikie's avatar
      Remove unused variable introduced by r163346. · 4fc47755
      David Blaikie authored
      llvm-svn: 163359
      4fc47755
  2. Sep 06, 2012
Loading