Skip to content
  1. Nov 16, 2017
    • Daniel Sanders's avatar
      [globalisel][tablegen] Generate rule coverage and use it to identify untested rules · f76f3154
      Daniel Sanders authored
      Summary:
      This patch adds a LLVM_ENABLE_GISEL_COV which, like LLVM_ENABLE_DAGISEL_COV,
      causes TableGen to instrument the generated table to collect rule coverage
      information. However, LLVM_ENABLE_GISEL_COV goes a bit further than
      LLVM_ENABLE_DAGISEL_COV. The information is written to files
      (${CMAKE_BINARY_DIR}/gisel-coverage-* by default). These files can then be
      concatenated into ${LLVM_GISEL_COV_PREFIX}-all after which TableGen will
      read this information and use it to emit warnings about untested rules.
      
      This technique could also be used by SelectionDAG and can be further
      extended to detect hot rules and give them priority over colder rules.
      
      Usage:
      * Enable LLVM_ENABLE_GISEL_COV in CMake
      * Build the compiler and run some tests
      * cat gisel-coverage-[0-9]* > gisel-coverage-all
      * Delete lib/Target/*/*GenGlobalISel.inc*
      * Build the compiler
      
      Known issues:
      * ${LLVM_GISEL_COV_PREFIX}-all must be generated as a manual
        step due to a lack of a portable 'cat' command. It should be the
        concatenation of all ${LLVM_GISEL_COV_PREFIX}-[0-9]* files.
      * There's no mechanism to discard coverage information when the ruleset
        changes
      
      Depends on D39742
      
      Reviewers: ab, qcolombet, t.p.northover, aditya_nandakumar, rovka
      
      Reviewed By: rovka
      
      Subscribers: vsk, arsenm, nhaehnle, mgorny, kristof.beyls, javed.absar, igorb, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D39747
      
      llvm-svn: 318356
      f76f3154
    • Reid Kleckner's avatar
      Try to fix WebAssembly build after r318352 · 8d8a8bb7
      Reid Kleckner authored
      llvm-svn: 318355
      8d8a8bb7
    • Craig Topper's avatar
      [GVNHoist] Fix a signed/unsigned comparison warning that occurs in 32-bit builds with gcc. · 062bcf30
      Craig Topper authored
      std::distance returns ptrdiff_t which is signed. 64-bit builds don't notice because type promotion widens the unsigned first.
      
      llvm-svn: 318354
      062bcf30
    • Rong Xu's avatar
      [CodeGen] Fix the branch probability assertion in r318202 · e4572c6b
      Rong Xu authored
      Due to integer precision, we might have numerator greater than denominator in
      the branch probability scaling. Add a check to prevent this from happening.
      
      llvm-svn: 318353
      e4572c6b
    • Daniel Sanders's avatar
      Add backend name to Target to enable runtime info to be fed back into TableGen · 725584e2
      Daniel Sanders authored
      Summary:
      Make it possible to feed runtime information back to tablegen to enable
      profile-guided tablegen-eration, detection of untested tablegen definitions, etc.
      
      Being a cross-compiler by nature, LLVM will potentially collect data for multiple
      architectures (e.g. when running 'ninja check'). We therefore need a way for
      TableGen to figure out what data applies to the backend it is generating at the
      time. This patch achieves that by including the name of the 'def X : Target ...'
      for the backend in the TargetRegistry.
      
      Reviewers: qcolombet
      
      Reviewed By: qcolombet
      
      Subscribers: jholewinski, arsenm, jyknight, aditya_nandakumar, sdardis, nemanjai, ab, nhaehnle, t.p.northover, javed.absar, qcolombet, llvm-commits, fedor.sergeev
      
      Differential Revision: https://reviews.llvm.org/D39742
      
      llvm-svn: 318352
      725584e2
    • Evandro Menezes's avatar
      [AArch64] Adjust the cost model for Exynos M1 and M2 · 82665b1e
      Evandro Menezes authored
      Fix the modeling of FP stores.
      
      llvm-svn: 318351
      82665b1e
    • Aditya Nandakumar's avatar
      [GISel][NFC]: Move getOpcodeDef from the LegalizationArtifactCombiner into... · 954eea07
      Aditya Nandakumar authored
      [GISel][NFC]: Move getOpcodeDef from the LegalizationArtifactCombiner into GlobalISel/Utils for use elsewhere
      
      llvm-svn: 318350
      954eea07
    • Alex Shlyapnikov's avatar
      [LSan] Export __lsan_init · 7fb4d3d1
      Alex Shlyapnikov authored
      Summary:
      lsan_preinit.cc is meant to be linked into executable and calls
      lsan_init from .preinit_array section. But if liblsan is a shared library,
      then this doesn't work, because the symbol is not exported. This patch fixes
      that. The counterparts like asan_init or __tsan_init already do have
      SANITIZER_INTERFACE_ATTRIBUTE.
      
      Committing on behalf of jakubjelinek.
      
      Reviewers: alekseyshl, kcc
      
      Subscribers: llvm-commits
      
      Differential revision: https://reviews.llvm.org/D39889
      
      llvm-svn: 318349
      7fb4d3d1
    • Davide Italiano's avatar
      [POSIX] Replace assert with llvm_unreachable(). NFCI. · c12c0c54
      Davide Italiano authored
      llvm-svn: 318348
      c12c0c54
    • NAKAMURA Takumi's avatar
      194d1a62
  2. Nov 15, 2017
Loading