Skip to content
  1. Jan 19, 2014
  2. Jan 18, 2014
  3. Jan 17, 2014
    • Justin Bogner's avatar
      MC: Add some missing include guards · 2b164bd9
      Justin Bogner authored
      Patch by Daniel Reynaud!
      
      llvm-svn: 199523
      2b164bd9
    • Juergen Ributzka's avatar
    • Rui Ueyama's avatar
      80-column. · 24fc2d64
      Rui Ueyama authored
      llvm-svn: 199519
      24fc2d64
    • Rui Ueyama's avatar
      llvm-objdump/COFF: Print ordinal base number. · e5df6095
      Rui Ueyama authored
      llvm-svn: 199518
      e5df6095
    • Juergen Ributzka's avatar
      Add two new calling conventions for runtime calls · e6250130
      Juergen Ributzka authored
      This patch adds two new target-independent calling conventions for runtime
      calls - PreserveMost and PreserveAll.
      The target-specific implementation for X86-64 is defined as following:
        - Arguments are passed as for the default C calling convention
        - The same applies for the return value(s)
        - PreserveMost preserves all GPRs - except R11
        - PreserveAll preserves all GPRs and all XMMs/YMMs - except R11
      
      Reviewed by Lang and Philip
      
      llvm-svn: 199508
      e6250130
    • Daniel Sanders's avatar
      [mips][msa] Correct pattern for LSA · b825a634
      Daniel Sanders authored
      Summary:
      $rs and $rt were the wrong way round in the .td and the testcase wasn't
      strict enough to detect the mistake.
      
      Reviewers: matheusalmeida
      
      Reviewed By: matheusalmeida
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2554
      
      llvm-svn: 199498
      b825a634
    • Daniel Sanders's avatar
      [mips] Split IIIdiv int II_DIV, II_DIVU, II_DDIV, and II_DDIVU · c7a9f8d2
      Daniel Sanders authored
      No functional change since the InstrItinData's were duplicated
      
      llvm-svn: 199497
      c7a9f8d2
    • Daniel Sanders's avatar
      [mips][sched] Split IIImul and IIImult into subclasses. · e95a137b
      Daniel Sanders authored
      IIImul -> II_MUL
      IIImult -> II_MULT, II_MULTU, II_MADD, II_MADDU, II_MSUB, II_MSUBU, II_DMULT, II_DMULTU
      
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199495
      e95a137b
    • Daniel Sanders's avatar
      [mips][sched] Split IIHiLo into II_MFHI_MFLO and II_MTHI_MTLO · 9342557e
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199493
      9342557e
    • Renato Golin's avatar
      Add MLA alias for ARMv4 support. · afc43a1c
      Renato Golin authored
      Fix MLA defs to use register class GPRnopc.
      Add encoding tests for multiply instructions.
      (Alias for MUL/SMLAL/UMLAL added by r199026.)
      
      Patch by Zhaoshi.
      
      llvm-svn: 199491
      afc43a1c
    • Chandler Carruth's avatar
      [PM] [cleanup] Rename some of the Verifier's members, re-arrange them, · bf2b652c
      Chandler Carruth authored
      and tweak comments prior to more invasive surgery. Also clean up some
      other non-doxygen comments, and run clang-format over the parts that are
      going to change dramatically in subsequent commits so that those don't
      get cluttered with formatting changes.
      
      No functionality changed.
      
      llvm-svn: 199489
      bf2b652c
    • Kostya Serebryany's avatar
      [asan] extend asan-coverage (still experimental). · 714c67c3
      Kostya Serebryany authored
       - add a mode for collecting per-block coverage (-asan-coverage=2).
         So far the implementation is naive (all blocks are instrumented),
         the performance overhead on top of asan could be as high as 30%.
       - Make sure the one-time calls to __sanitizer_cov are moved to function buttom,
         which in turn required to copy the original debug info into the call insn.
      
      Here is the performance data on SPEC 2006
      (train data, comparing asan with asan-coverage={0,1,2}):
      
                                   asan+cov0     asan+cov1      diff 0-1    asan+cov2       diff 0-2      diff 1-2
             400.perlbench,        65.60,        65.80,         1.00,        76.20,         1.16,         1.16
                 401.bzip2,        65.10,        65.50,         1.01,        75.90,         1.17,         1.16
                   403.gcc,         1.64,         1.69,         1.03,         2.04,         1.24,         1.21
                   429.mcf,        21.90,        22.60,         1.03,        23.20,         1.06,         1.03
                 445.gobmk,       166.00,       169.00,         1.02,       205.00,         1.23,         1.21
                 456.hmmer,        88.30,        87.90,         1.00,        91.00,         1.03,         1.04
                 458.sjeng,       210.00,       222.00,         1.06,       258.00,         1.23,         1.16
            462.libquantum,         1.73,         1.75,         1.01,         2.11,         1.22,         1.21
               464.h264ref,       147.00,       152.00,         1.03,       160.00,         1.09,         1.05
               471.omnetpp,       115.00,       116.00,         1.01,       140.00,         1.22,         1.21
                 473.astar,       133.00,       131.00,         0.98,       142.00,         1.07,         1.08
             483.xalancbmk,       118.00,       120.00,         1.02,       154.00,         1.31,         1.28
                  433.milc,        19.80,        20.00,         1.01,        20.10,         1.02,         1.01
                  444.namd,        16.20,        16.20,         1.00,        17.60,         1.09,         1.09
                447.dealII,        41.80,        42.20,         1.01,        43.50,         1.04,         1.03
                450.soplex,         7.51,         7.82,         1.04,         8.25,         1.10,         1.05
                453.povray,        14.00,        14.40,         1.03,        15.80,         1.13,         1.10
                   470.lbm,        33.30,        34.10,         1.02,        34.10,         1.02,         1.00
               482.sphinx3,        12.40,        12.30,         0.99,        13.00,         1.05,         1.06
      
      llvm-svn: 199488
      714c67c3
    • Chandler Carruth's avatar
      [PM] Remove the preverifier and directly compute the DominatorTree for · 7677760e
      Chandler Carruth authored
      the verifier after ensuring the CFG is at least usefully formed.
      
      This fixes a number of problems:
      1) The PreVerifier was missing the controls the Verifier provides over
         *how* an invalid module is handled -- it just aborted the program!
         Now it uses the same logic as the Verifier which is significantly
         more library-friendly.
      2) The DominatorTree used previously could have been cached and not
         updated due to bugs in prior passes and we would silently use the
         stale tree. This could cause dominance errors to not be as quickly
         diagnosed.
      3) We can now (in the next patch) pull the functionality of the verifier
         apart from the pass infrastructure so that you can verify IR without
         having any form of pass manager. This in turn frees the code to share
         logic between old and new pass manager variants.
      
      Along the way I fixed at least one annoying bug -- the state for
      'Broken' wasn't being cleared from run to run causing all functions
      visited after the first broken function to be marked as broken
      regardless of whether *they* were a problem. Fortunately, I don't really
      know much of a way to observe this peculiarity.
      
      In case folks are worried about the runtime cost, its negligible.
      I looked at running the entire regression test suite (which should be
      a relatively good use of the verifier) before and after but was unable
      to even measure the time spent on the verifier and there was no
      regresion from before to after. I checked both with debug builds and
      optimized builds.
      
      llvm-svn: 199487
      7677760e
    • Kevin Qin's avatar
    • Chandler Carruth's avatar
      Add the test for libstdc++ versions newer than 4.6 so we don't · f8f0015b
      Chandler Carruth authored
      accidentally pick that up while using Clang and run into subtle bugs
      down the road related to C++11 features not fully implemented in that
      version of the standard library.
      
      llvm-svn: 199484
      f8f0015b
    • Craig Topper's avatar
      Switch a few instructions to use RI instead I so they don't require REX_W to... · 80ab268b
      Craig Topper authored
      Switch a few instructions to use RI instead I so they don't require REX_W to be explicitly specified.
      
      llvm-svn: 199479
      80ab268b
Loading