Skip to content
  1. Jan 07, 2014
  2. Jan 06, 2014
  3. Jan 03, 2014
    • Rafael Espindola's avatar
      Make the llvm mangler depend only on DataLayout. · 58873566
      Rafael Espindola authored
      Before this patch any program that wanted to know the final symbol name of a
      GlobalValue had to link with Target.
      
      This patch implements a compromise solution where the mangler uses DataLayout.
      This way, any tool that already links with Target (llc, clang) gets the exact
      behavior as before and new IR files can be mangled without linking with Target.
      
      With this patch the mangler is constructed with just a DataLayout and DataLayout
      is extended to include the information the Mangler needs.
      
      llvm-svn: 198438
      58873566
  4. Jan 02, 2014
  5. Jan 01, 2014
    • Rafael Espindola's avatar
      Remove the 's' DataLayout specification · 6994fdf3
      Rafael Espindola authored
      During the years there have been some attempts at figuring out how to
      align byval arguments. A look at the commit log suggests that they
      were
      
      * Use the ABI alignment.
      * When that was not sufficient for x86-64, I added the 's' specification to
        DataLayout.
      * When that was not sufficient Evan added the virtual getByValTypeAlignment.
      * When even that was not sufficient, we just got the FE to add the alignment
        to the byval.
      
      This patch is just a simple cleanup that removes my first attempt at fixing the
      problem. I also added an AArch64 implementation of getByValTypeAlignment to
      make sure this patch is a nop. I also left the 's' parsing for backward
      compatibility.
      
      I will send a short email to llvmdev about the change for anyone maintaining
      an out of tree target.
      
      llvm-svn: 198287
      6994fdf3
  6. Dec 31, 2013
  7. Dec 28, 2013
  8. Dec 27, 2013
    • David Blaikie's avatar
      DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D) · ac200297
      David Blaikie authored
      It's no longer necessary to lazily add members to the DICompositeType
      member list. Instead any lazy members (special member functions and
      member template instantiations) are added to the parent late based on
      their context link, the same way that nested types have always been
      handled (never being in the member list - just added to the parent DIE
      lazily based on context).
      
      Clang's been updated not to use this function anymore as it improves
      type unit consistency by never emitting lazy members in type units.
      
      llvm-svn: 198079
      ac200297
  9. Dec 21, 2013
  10. Dec 20, 2013
  11. Dec 19, 2013
  12. Dec 18, 2013
  13. Dec 17, 2013
    • Quentin Colombet's avatar
      [DiagnosticPrinter] Use the appropriate method to print a Twine object in a · 98e79a06
      Quentin Colombet authored
      raw_ostream.
      
      llvm-svn: 197531
      98e79a06
    • 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
    • Quentin Colombet's avatar
    • Quentin Colombet's avatar
      Add warning capabilities in LLVM. · 66673f40
      Quentin Colombet authored
      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: 197438
      66673f40
  14. Dec 16, 2013
  15. Dec 15, 2013
  16. Dec 14, 2013
  17. Dec 13, 2013
    • Yuchen Wu's avatar
      llvm-cov: Added -b option for branch probabilities. · 342714c1
      Yuchen Wu authored
      This option tells llvm-cov to print out branch probabilities when
      a basic block contains multiple branches. It also prints out some
      function summary info including the number of times the function enters,
      the percent of time it returns, and how many blocks were executed.
      
      Also updated tests.
      
      llvm-svn: 197198
      342714c1
  18. Dec 10, 2013
    • NAKAMURA Takumi's avatar
      GCOV.cpp: Use PRIu64 instead of %lu. · 7ce0fe01
      NAKAMURA Takumi authored
      llvm-svn: 196882
      7ce0fe01
    • Yuchen Wu's avatar
      llvm-cov: Added -a option for block data. · 8c6bb5f4
      Yuchen Wu authored
      Similar to gcov, llvm-cov will now print out the block count at the end
      of each block. Multiple blocks can end on the same line.
      
      One computational difference is by using -a, llvm-cov will no longer
      simply add the block counts together to form a line count. Instead, it
      will take the maximum of the block counts on that line. This has a
      similar effect to what gcov does, but generates more correct counts in
      certain scenarios.
      
      Also updated tests.
      
      llvm-svn: 196856
      8c6bb5f4
  19. Dec 07, 2013
  20. Dec 06, 2013
  21. Dec 05, 2013
Loading