Skip to content
  1. Mar 01, 2014
  2. Feb 27, 2014
  3. Feb 24, 2014
  4. Feb 23, 2014
  5. Feb 19, 2014
    • Roman Divacky's avatar
      Expand 64bit {SHL,SHR,SRA}_PARTS on sparcv9. · 37136c03
      Roman Divacky authored
      llvm-svn: 201718
      37136c03
    • Rafael Espindola's avatar
      move getNameWithPrefix and getSymbol to TargetMachine. · a3ad4e69
      Rafael Espindola authored
      TargetLoweringBase is implemented in CodeGen, so before this patch we had
      a dependency fom Target to CodeGen. This would show up as a link failure of
      llvm-stress when building with -DBUILD_SHARED_LIBS=ON.
      
      This fixes pr18900.
      
      llvm-svn: 201711
      a3ad4e69
    • Rafael Espindola's avatar
      Add back r201608, r201622, r201624 and r201625 · daeafb4c
      Rafael Espindola authored
      r201608 made llvm corretly handle private globals with MachO. r201622 fixed
      a bug in it and r201624 and r201625 were changes for using private linkage,
      assuming that llvm would do the right thing.
      
      They all got reverted because r201608 introduced a crash in LTO. This patch
      includes a fix for that. The issue was that TargetLoweringObjectFile now has
      to be initialized before we can mangle names of private globals. This is
      trivially true during the normal codegen pipeline (the asm printer does it),
      but LTO has to do it manually.
      
      llvm-svn: 201700
      daeafb4c
    • Daniel Jasper's avatar
      Revert r201622 and r201608. · 7e198ad8
      Daniel Jasper authored
      This causes the LLVMgold plugin to segfault. More information on the
      replies to r201608.
      
      llvm-svn: 201669
      7e198ad8
  6. Feb 18, 2014
    • Rafael Espindola's avatar
      Fix PR18743. · 09dcc6a5
      Rafael Espindola authored
      The IR
      @foo = private constant i32 42
      
      is valid, but before this patch we would produce an invalid MachO from it. It
      was invalid because it would use an L label in a section where the liker needs
      the labels in order to atomize it.
      
      One way of fixing it would be to just reject this IR in the backend, but that
      would not be very front end friendly.
      
      What this patch does is use an 'l' prefix in sections that we know the linker
      requires symbols for atomizing them. This allows frontends to just use
      private and not worry about which sections they go to or how the linker handles
      them.
      
      One small issue with this strategy is that now a symbol name depends on the
      section, which is not available before codegen. This is not a problem in
      practice. The reason is that it only happens with private linkage, which will
      be ignored by the non codegen users (llvm-nm and llvm-ar).
      
      llvm-svn: 201608
      09dcc6a5
  7. Feb 13, 2014
    • Daniel Sanders's avatar
      Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove... · 753e1762
      Daniel Sanders authored
      Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call
      
      Summary:
      AsmPrinter::EmitInlineAsm() will no longer use the EmitRawText() call for
      targets with mature MC support. Such targets will always parse the inline
      assembly (even when emitting assembly). Targets without mature MC support
      continue to use EmitRawText() for assembly output.
      
      The hasRawTextSupport() check in AsmPrinter::EmitInlineAsm() has been replaced
      with MCAsmInfo::UseIntegratedAs which when true, causes the integrated assembler
      to parse inline assembly (even when emitting assembly output). UseIntegratedAs
      is set to true for targets that consider any failure to parse valid assembly
      to be a bug. Target specific subclasses generally enable the integrated
      assembler in their constructor. The default value can be overridden with
      -no-integrated-as.
      
      All tests that rely on inline assembly supporting invalid assembly (for example,
      those that use mnemonics such as 'foo' or 'hello world') have been updated to
      disable the integrated assembler.
      
      Changes since review (and last commit attempt):
      - Fixed test failures that were missed due to configuration of local build.
        (fixes crash.ll and a couple others).
      - Fixed tests that happened to pass because the local build was on X86
        (should fix 2007-12-17-InvokeAsm.ll)
      - mature-mc-support.ll's should no longer require all targets to be compiled.
        (should fix ARM and PPC buildbots)
      - Object output (-filetype=obj and similar) now forces the integrated assembler
        to be enabled regardless of default setting or -no-integrated-as.
        (should fix SystemZ buildbots)
      
      Reviewers: rafael
      
      Reviewed By: rafael
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2686
      
      llvm-svn: 201333
      753e1762
  8. Feb 12, 2014
    • Daniel Sanders's avatar
      Revert r201237+r201238: Demote EmitRawText call in AsmPrinter::EmitInlineAsm()... · abe212a3
      Daniel Sanders authored
      Revert r201237+r201238: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call
      
      It introduced multiple test failures in the buildbots.
      
      llvm-svn: 201241
      abe212a3
    • Daniel Sanders's avatar
      Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call · a7d504cf
      Daniel Sanders authored
      Summary:
      AsmPrinter::EmitInlineAsm() will no longer use the EmitRawText() call for targets with mature MC support. Such targets will always parse the inline assembly (even when emitting assembly). Targets without mature MC support continue to use EmitRawText() for assembly output.
      
      The hasRawTextSupport() check in AsmPrinter::EmitInlineAsm() has been replaced with MCAsmInfo::UseIntegratedAs which when true, causes the integrated assembler to parse inline assembly (even when emitting assembly output). UseIntegratedAs is set to true for targets that consider any failure to parse valid assembly to be a bug. Target specific subclasses generally enable the integrated assembler in their constructor. The default value can be overridden with -no-integrated-as.
      
      All tests that rely on inline assembly supporting invalid assembly (for example, those that use mnemonics such as 'foo' or 'hello world') have been updated to disable the integrated assembler.
      
      Reviewers: rafael
      
      Reviewed By: rafael
      
      CC: llvm-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2686
      
      llvm-svn: 201237
      a7d504cf
  9. Feb 09, 2014
    • Rafael Espindola's avatar
      Use a consistent argument order in TargetLoweringObjectFile. · 15b26696
      Rafael Espindola authored
      These methods normally call each other and it is really annoying if the
      arguments are in different order. The more common rule was that the arguments
      specific to call are first (GV, Encoding, Suffix) and the auxiliary objects
      (Mang, TM) come after. This patch changes the exceptions.
      
      llvm-svn: 201044
      15b26696
  10. Feb 08, 2014
  11. Feb 07, 2014
  12. Feb 06, 2014
  13. Feb 05, 2014
  14. Feb 01, 2014
  15. Jan 31, 2014
  16. Jan 30, 2014
  17. Jan 29, 2014
Loading