Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3345

Investigate issues with __builtin_*_overflow in LLVM

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Won't Do
    • Impala 2.6.0
    • None
    • Backend

    Description

      LLVM 3.8 added support for __builtin_add_overflow and __builtin_mul_overflow. We can use them in decimal-value-inline.h but there are various issues:

      • __builtin_mul_overflow for 128-bit ints (16-byte decimals) generates a reference to a runtime function implemented by LLVM's runtime library but not GCC's (we use the GCC runtime for all code).
      • __builtin_add_overflow seems extremely slow: I saw TPC-H query 1 regress by 3-4x compared to the current code.

      This JIRA is to investigate these issues and see if the functions can be beneficial.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tarmstrong Tim Armstrong
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: