Skip to content
  1. Dec 19, 2013
  2. Dec 18, 2013
  3. Dec 17, 2013
    • Reid Kleckner's avatar
      MC COFF: Emit the 'b' section flag for .bss sections in GNU assembly · d4e53f55
      Reid Kleckner authored
      Without this, assembling clang's disassembly would produce an object
      file with the IMAGE_SCN_CNT_INITIALIZED_DATA section characteristic
      rather than the uninitialized one.  link.exe would warn when merging
      comdats with different flags.
      
      llvm-svn: 197529
      d4e53f55
    • Andrew Trick's avatar
      Disabled subregister copy coalescing during MachineCSE. · e4083f9e
      Andrew Trick authored
      This effectively backs out r197465 but leaves some of the general
      fixes in place. Not all targets are ready to handle this feature. To
      enable it, some infrastructure work is needed to better handle
      register class constraints.
      
      llvm-svn: 197514
      e4083f9e
    • Quentin Colombet's avatar
      Add warning capabilities in LLVM. · b4c44d23
      Quentin Colombet authored
      This reapplies r197438 and fixes the link-time circular dependency between
      IR and Support. The fix consists in moving the diagnostic support into IR.
      
      The patch adds a new LLVMContext::diagnose that can be used to communicate to
      the front-end, if any, that something of interest happened.
      The diagnostics are supported by a new abstraction, the DiagnosticInfo class.
      The base class contains the following information:
      - The kind of the report: What this is about.
      - The severity of the report: How bad this is.
      
      This patch also adds 2 classes:
      - DiagnosticInfoInlineAsm: For inline asm reporting. Basically, this diagnostic
      will be used to switch to the new diagnostic API for LLVMContext::emitError.
      - DiagnosticStackSize: For stack size reporting. Comes as a replacement of the
      hard coded warning in PEI.
      
      This patch also features dynamic diagnostic identifiers. In other words plugins
      can use this infrastructure for their own diagnostics (for more details, see
      getNextAvailablePluginDiagnosticKind).
      
      This patch introduces a new DiagnosticHandlerTy and a new DiagnosticContext in
      the LLVMContext that should be set by the front-end to be able to map these
      diagnostics in its own system.
      
      http://llvm-reviews.chandlerc.com/D2376
      <rdar://problem/15515174>
      
      llvm-svn: 197508
      b4c44d23
    • Matheus Almeida's avatar
      [mips] Fix off by one issue when applying a fixup. · 8cc8b35a
      Matheus Almeida authored
      The branch offset for a R_MIPS_PC16 relocation is indeed a 16-bit signed
      immediate.
      
      llvm-svn: 197506
      8cc8b35a
    • Duncan P. N. Exon Smith's avatar
      Setting the CPU in the new vaargs test · 93c6ba6a
      Duncan P. N. Exon Smith authored
      Trying to fix buildbots after r197503 (test passes locally).
      
      <rdar://problem/15627766>
      
      llvm-svn: 197505
      93c6ba6a
    • Duncan P. N. Exon Smith's avatar
      Revert "Revert "Mark vastart_save_xmm_regs as changing EFLAGS"" · 512601d7
      Duncan P. N. Exon Smith authored
      This reverts commit r197481, recommiting r197469 with an extra fix.
      
      The vastart_save_xmm_regs pseudo-instruction expands to a test and a
      branch, so it modifies EFLAGS.  Mark it so, or else the scheduler might
      place it in the middle of another test+branch.
      
      This fixes a bug exposed by r192750, which changed the initial scheduler
      to source-order as part of enabling the MI Scheduler for X86.
      
      This re-commit changes the VASTART_SAVE_XMM_REGS custom inserter not to
      try to save %flags, and adds a test that catches the bad behavior of
      r197469.
      
      <rdar://problem/15627766>
      
      llvm-svn: 197503
      512601d7
    • Timur Iskhodzhanov's avatar
      Add some simple COFF files with Z7 debug info · d482aa5f
      Timur Iskhodzhanov authored
      These will later be used as tests for the dumper part of http://llvm-reviews.chandlerc.com/D2232
      
      llvm-svn: 197499
      d482aa5f
    • Stepan Dyatkovskiy's avatar
      Fix for PR18045: · 7f7c2710
      Stepan Dyatkovskiy authored
      http://llvm.org/bugs/show_bug.cgi?id=18045
      
      Short issue description:
      For X86 machines with sse < sse4.1 we got failures for some
      particular load/store vector sequences:
      
      $ clang-trunk -m32 -O2 test-case.c
      fatal error: error in backend: Cannot select: 0x4200920: v4i32,ch = load 0x41d6ab0, 0x4205850,
            0x41dcb10<LD16[getelementptr inbounds ([4 x i32]* @e, i32 0, i32 0)](align=4)> [ORD=82]
            [ID=58]
        0x4205850: i32 = X86ISD::Wrapper 0x41d5490 [ORD=26] [ID=43]
          0x41d5490: i32 = TargetGlobalAddress<[4 x i32]* @e> 0 [ORD=26] [ID=23]
        0x41dcb10: i32 = undef [ID=2]
      
      The reason is that EltsFromConsecutiveLoads could emit such load instruction
      both before and after legalize stage. Though this instruction is not legal for
      machines with SSSE3 and lower.
      
      The fix: In EltsFromConsecutiveLoads, if we have passed legalize stage, we
      check whether nodes it emits are legal. 
      
      P.S.: If you get failure in time from 12:00 and till 22:00 (UTC-8),
      perhaps I'll slow with response, so you better reject this commit. Thanks!
      
      llvm-svn: 197492
      7f7c2710
    • Elena Demikhovsky's avatar
      AVX-512: Added implementation of CONCAT_VECTORS for v8i1 vectors (by Alexey Bader). · c5f6726a
      Elena Demikhovsky authored
      Added implementation of "truncate" from integer type (i64/i32/i16/i8) to i1.
      
      llvm-svn: 197482
      c5f6726a
    • Duncan P. N. Exon Smith's avatar
      Revert "Mark vastart_save_xmm_regs as changing EFLAGS" · b2d4274d
      Duncan P. N. Exon Smith authored
      This reverts commit r197469.
      
      The sanitizer and dragonegg buildbots are failing, I think because of
      this change.  Reverting until I figure out why.
      
      llvm-svn: 197481
      b2d4274d
    • Duncan P. N. Exon Smith's avatar
      Mark vastart_save_xmm_regs as changing EFLAGS · a4acde39
      Duncan P. N. Exon Smith authored
      The vastart_save_xmm_regs pseudo-instruction expands to a test and a
      branch, so it modifies EFLAGS.  Mark it so, or else the scheduler might
      place it in the middle of another test+branch.
      
      This fixes a bug exposed by r192750, which turned on the MI Scheduler
      for X86.
      
      <rdar://problem/15627766>
      
      llvm-svn: 197469
      a4acde39
Loading