Skip to content
  1. Sep 11, 2012
  2. Sep 10, 2012
  3. Sep 07, 2012
    • Benjamin Kramer's avatar
      Fix alignment of .comm and .lcomm on mingw32. · 68b9f058
      Benjamin Kramer authored
      For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
      use the same setting for both. Fix this by reintroducing the LCOMM enum.
      I verified this against mingw's gcc.
      
      llvm-svn: 163420
      68b9f058
    • Chad Rosier's avatar
      Fix indent. · 1f57bcb1
      Chad Rosier authored
      llvm-svn: 163416
      1f57bcb1
    • Chad Rosier's avatar
      b759ede9
    • 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
  4. Sep 06, 2012
  5. Sep 05, 2012
  6. Aug 29, 2012
  7. Aug 25, 2012
  8. Aug 24, 2012
  9. Aug 23, 2012
  10. Aug 17, 2012
    • Bill Wendling's avatar
      Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to · 34bc34ec
      Bill Wendling authored
      make it more consistent with its intended semantics.
      
      The `linker_private_weak_def_auto' linkage type was meant to automatically hide
      globals which never had their addresses taken. It has nothing to do with the
      `linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
      among other things.
      
      The intended semantic is more like the `linkonce_odr' linkage type.
      
      Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
      changing the semantics so that it produces the correct output for the linker.
      
      Note: The old linkage name `linker_private_weak_def_auto' will still parse but
      is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
      <rdar://problem/11754934>
      
      llvm-svn: 162114
      34bc34ec
  11. Aug 14, 2012
  12. Aug 01, 2012
  13. Jul 28, 2012
  14. Jul 21, 2012
  15. Jul 13, 2012
  16. Jul 06, 2012
    • Alexey Samsonov's avatar
      Fix PR13202 and a regtest. · 39602781
      Alexey Samsonov authored
      DwarfDebug class could generate the same (inlined) DIVariable twice:
      1) when trying to find abstract debug variable for a concrete inlined instance.
      2) when explicitly collecting info for variables that were optimized out.
      
      This change makes sure that this duplication won't happen and makes
      Clang pass "gdb.opt/inline-locals" test from gdb testsuite.
      
      Reviewed by Eric Christopher.
      
      llvm-svn: 159811
      39602781
  17. Jul 04, 2012
  18. Jun 29, 2012
  19. Jun 28, 2012
  20. Jun 22, 2012
  21. Jun 21, 2012
    • Jack Carter's avatar
      The inline asm operand modifier 'n' is suppose · c457f620
      Jack Carter authored
      to be generic across architectures. It has the
      following description in the gnu sources:
      
          Negate the immediate constant
      
      Several Architectures such as x86 have local implementations
      of operand modifier 'n' which go beyond the above description
      slightly. This won't affect them.
      
      Affected files:
      
          lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
              Added 'n' to the switch cases.
      
          test/CodeGen/Generic/asm-large-immediate.ll
              Generic compiled test (x86 for me)
      
          test/CodeGen/Mips/asm-large-immediate.ll
              Mips compiled version of the generic one
      
      Contributer: Jack Carter
      llvm-svn: 158939
      c457f620
    • Jack Carter's avatar
      The inline asm operand modifier 'c' is suppose · b2fd5f66
      Jack Carter authored
      to be generic across architectures. It has the
      following description in the gnu sources:
      
          Substitute immediate value without immediate syntax
      
      Several Architectures such as x86 have local implementations
      of operand modifier 'c' which go beyond the above description
      slightly. To make use of the generic modifiers without overriding
      local implementation one can make a call to the base class method
      for AsmPrinter::PrintAsmOperand() in the locally derived method's 
      "default" case in the switch statement. That way if it is already
      defined locally the generic version will never get called.
      
      This change is needed when test/CodeGen/generic/asm-large-immediate.ll
      failed on a native Mips board. The test was assuming a generic
      implementation was in place.
      
      Affected files:
      
          lib/Target/Mips/MipsAsmPrinter.cpp:
              Changed the default case to call the base method.
          lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
              Added 'c' to the switch cases.
          test/CodeGen/Mips/asm-large-immediate.ll
              Mips compiled version of the generic one
      
      Contributer: Jack Carter
      llvm-svn: 158925
      b2fd5f66
  22. Jun 09, 2012
  23. Jun 02, 2012
    • Jakob Stoklund Olesen's avatar
      Switch all register list clients to the new MC*Iterator interface. · 54038d79
      Jakob Stoklund Olesen authored
      No functional change intended.
      
      Sorry for the churn. The iterator classes are supposed to help avoid
      giant commits like this one in the future. The TableGen-produced
      register lists are getting quite large, and it may be necessary to
      change the table representation.
      
      This makes it possible to do so without changing all clients (again).
      
      llvm-svn: 157854
      54038d79
Loading