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
  2. Nov 15, 2017
Loading