Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/llvm/llvm-project.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
  1. Apr 08, 2022
  2. Mar 26, 2022
    • David Blaikie's avatar
      DebugInfo: Don't allow type units to references types in the CU · a5032b26
      David Blaikie authored
      We could only do this in limited ways (since we emit the TUs first, we
      can't use ref_addr (& we can't use that in Split DWARF either) - so we
      had to synthesize declarations into the TUs) and they were ambiguous in
      some cases (if the CU type had internal linkage, parsing the TU would
      require knowing which CU was referencing the TU to know which type the
      declaration was for, which seems not-ideal). So to avoid all that, let's
      just not reference types defined in the CU from TUs - instead moving the
      TU type into the CU (recursively).
      
      This does increase debug info size (by pulling more things out of type
      units, into the compile unit) - about 2% of uncompressed dwp file size
      for clang -O0 -g -gsplit-dwarf. (5% .debug_info.dwo section size
      increase in the .dwp)
      a5032b26
  3. Mar 25, 2022
    • David Blaikie's avatar
      DebugInfo: Classify noreturn function types as non-reconstructible · 7b498bee
      David Blaikie authored
      This information isn't preserved in the DWARF description of function
      types (though probably should be - it's preserved on the function
      declarations/definitions themselves through the DW_AT_noreturn attribute
      - but we should move or also include that in the subroutine type itself
      too - but for now, with it not being there, the DWARF is lossy and
      can't be reconstructed)
      7b498bee
  4. Mar 23, 2022
  5. Mar 18, 2022
    • Thomas Lively's avatar
      [WebAssembly] Add end-to-end codegen tests for wasm_simd128.h · 7062094b
      Thomas Lively authored
      Add a test checking that each SIMD intrinsic produces the expected instruction.
      Since this test spans both clang and LLVM, place it in a new
      intrinsic-header-tests subdirectory of cross-project-tests.
      
      This revives D101684 now that cross-project-tests exists. In practice, the tests
      of lowering from wasm_simd128.h to LLVM IR were not as useful as this end-to-end
      test.
      
      Updates the version check of gdb in cross-project-tests/lit.cfg.py so that
      unexpected version formats do not prevent the new tests from running.
      
      Depends on D121661.
      
      Differential Revision: https://reviews.llvm.org/D121662
      7062094b
  6. Mar 16, 2022
  7. Mar 12, 2022
  8. Mar 01, 2022
    • gbtozers's avatar
      [Dexter] Optimize breakpoint deletion in Visual Studio · b3f14802
      gbtozers authored
      Breakpoint deletion in visual studio is currently implemented by
      iterating over the breakpoints we want to delete, for each of which we
      iterate over the complete set of breakpoints in the debugger instance
      until we find the one we wish to delete. Ideally we would resolve this
      by directly deleting each breakpoint by some ID rather than searching
      through the full breakpoint list for them, but in the absence of such a
      feature in VS we can instead invert the loop to improve performance.
      
      This patch changes breakpoint deletion to iterate over the complete list
      of breakpoints, deleting breakpoints that match the breakpoints we
      expect to delete by checking set membership. This represents a
      worst-case improvement from O(nm) to O(n), for 'm' breakpoints being
      deleted out of 'n' total. In practise this is almost exactly 'm'-times
      faster, as when we delete multiple breakpoints they are typically
      adjacent in the full breakpoint list.
      
      Differential Revision: https://reviews.llvm.org/D120658
      b3f14802
  9. Feb 17, 2022
  10. Feb 16, 2022
  11. Feb 11, 2022
    • OCHyams's avatar
      [dexter] Don't generate results files by default · 2bd62e0b
      OCHyams authored
      Dexter saves various files to a new results directory each time it is run
      (including when it's run by lit tests) and there isn't a way to opt-out. This
      patch reconfigures the behaviour to be opt-in by removing the default
      `--results-directory` location. Now results are only saved if
      `--results-directory` is specified.
      
      Reviewed By: jmorse
      
      Differential Revision: https://reviews.llvm.org/D119545
      2bd62e0b
    • David Blaikie's avatar
      DebugInfo: Don't simplify names referencing local enums · 389f67b3
      David Blaikie authored
      Due to the way type units work, this would lead to a declaration in a
      type unit of a local type in a CU - which is ambiguous. Rather than
      trying to resolve that relative to the CU that references the type unit,
      let's just not try to simplify these names.
      
      Longer term this should be fixed by not putting the template
      instantiation in a type unit to begin with - since it references an
      internal linkage type, it can't legitimately be duplicated/in more than
      one translation unit, so skip the type unit overhead. (but the right fix
      for that is to move type unit management into a DICompositeType flag
      (dropping the "identifier" field is not a perfect solution since it
      breaks LLVM IR linking decl/def merging during IR linking))
      389f67b3
    • David Blaikie's avatar
      DebugInfo: Don't simplify any template referencing a lambda · f3a2cfc1
      David Blaikie authored
      Lambda names aren't entirely canonical (as demonstrated by the
      cross-project-test added here) at the moment (we should fix that for a
      bunch of reasons) - even if the template referencing them is
      non-simplified, other names referencing /that/ template can't be
      simplified either because type units might cause a different template to
      be picked up that would conflict with the expected name.
      
      (other than for roundtripping precision, it'd be OK to simplify types
      that reference types that reference lambdas - but best be consistent
      between the roundtrip/verify mode and the actual simplified template
      names mode)
      f3a2cfc1
  12. Feb 10, 2022
  13. Feb 09, 2022
  14. Jan 26, 2022
    • OCHyams's avatar
      [Dexter] Remove false requirement of lldb for dexter regression tests on Windows · de3f8155
      OCHyams authored
      Not quite NFC because a little work was required to configure some tests to run
      on Windows at all.
      
      Before this patch on Windows:
      
          $ llvm-lit cross-project-tests\debuginfo-tests\dexter\feature-tests
             Unsupported: 49
             Passed     : 23
      
      After this patch on Windows:
      
          $ llvm-lit cross-project-tests\debuginfo-tests\dexter\feature-tests
             Unsupported      : 27
             Passed           : 39
             Expectedly failed:  6
      
      There are 3 main changes here. The first is to add a few more substitutions in
      cross-project-tests/lit.cfg.py so that tests need to use specific flags can
      still use the dexter regression test defaults for the native platform. These
      are:
      
           %dexter_regression_test_debugger
           %dexter_regression_test_builder
           %dexter_regression_test_cflags
           %dexter_regression_test_ldflags
      
      Tests that now use these options and therefore can be run on Windows too
      (though the second is still failing for unknown reasons):
      
          cross-project-tests/debuginfo-tests/dexte/feature_tests
              /subtools/clang-opt-bisect/clang-opt-bisect.cpp
              /subtools/test/source-root-dir.cpp
      
      The second change is to remove spurious `REQUIRES: system-linux, lldb` and
      `UNSUPPORTED: system-windows` directives, and make changes to lit.local.cfg
      files that have the same effect. I've also added comments to the genuine
      REQUIRES, UNSUPPORTED, and XFAIL directives so it's easier to understand
      requirements at a glance. The most common reason for a test to not be supported
      on Windows is that it uses DexLimitSteps, DexDeclareAddress, or DexCommandLine,
      none of which are supported in the dbgeng driver.
      
      There are two failures on Windows that were previously hidden, which I've
      XFAILed:
      
          cross-project-tests/debuginfo-tests/dexter/feature_tests
              /commands/perfect/dex_finish_test/default_conditional.cpp
              /commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
      
      And two that were easy to fix:
      
          cross-project-tests/debuginfo-tests/dexter/feature_tests
              /commands/perfect/dex_finish_test/default_simple.cpp
              /commands/perfect/dex_finish_test/default_hit_count.cpp
      
      Lastly, I've set three directories as unsupported.
      
          cross-project-tests/debuginfo-tests/dexter/feature_tests
              /commands/perfect/limit_steps
              /commands/perfect/dex_declare_address
              /commands/perfect/dex_declare_file
      
      The first two are unsupported on Windows because they contains tests for the
      DexLimitSteps and DexDeclareAddress commands which aren't supported in the
      dbgeng driver. The third is unsupported on all platforms as the tests involve
      invoking clang directly, which isn't currently a supported way of building
      tests for dexter in lit (it can cause problems for cross compilers that can
      target the host, as the tests use the default triple and linker, which may
      be aligned for the default target, not host).
      
      Tested on Windows and Linux.
      
      Reviewed By: jmorse
      
      Differential Revision: https://reviews.llvm.org/D118048
      de3f8155
  15. Jan 13, 2022
    • River Riddle's avatar
      [mlir] Finish removing Identifier from the C++ API · 56f62fbf
      River Riddle authored
      There have been a few API pieces remaining to allow for a smooth transition for
      downstream users, but these have been up for a few months now. After this only
      the C API will have reference to "Identifier", but those will be reworked in a followup.
      
      The main updates are:
      * Identifier -> StringAttr
      * StringAttr::get requires the context as the first parameter
        - i.e. `Identifier::get("...", ctx)` -> `StringAttr::get(ctx, "...")`
      
      Reviewed By: mehdi_amini
      
      Differential Revision: https://reviews.llvm.org/D116626
      56f62fbf
  16. Jan 11, 2022
  17. Jan 10, 2022
  18. Jan 08, 2022
  19. Jan 07, 2022
  20. Jan 06, 2022
  21. Dec 30, 2021
  22. Dec 16, 2021
    • OCHyams's avatar
      [Dexter] Remove the Windows dependency on lld from CMake · 18ee898c
      OCHyams authored
      Currently, lld is marked as a dependency on Windows in
      cross-project-tests/CMakeLists.txt which means CMake will fail if lld isn't
      enabled. The idea of the cross-project-tests is that tests that don't have
      their dependencies met should just be unsupported.
      
      Remove the depenency from the CMake step and check whether Dexter's
      platform-specific dependencies have been met in
      cross-project-tests/lit.cfg.py. If the dependencies are met then add 'dexter'
      to the available_features, otherwise don't and the dexter tests will be
      "UNSUPPORTED".
      
      Reviewed By: jhenderson
      
      Differential Revision: https://reviews.llvm.org/D115872
      18ee898c
  23. Dec 08, 2021
    • Tom Weaver's avatar
      [dexter] Fix source-root-dir unittests on Windows · 7c781621
      Tom Weaver authored
      These tests were spuriously failing on Windows due to path separators getting
      flipped from `/` to `\\`  in various parts of dexter:
      
      test_add_breakpoint_with_source_root_dir
      test_get_step_info
      test_get_step_info_no_source_root_dir
      
      Tested on Windows and Linux.
      
      Patch written by @TWeaver.
      
      Reviewed By: jmorse
      
      Differential Revision: https://reviews.llvm.org/D115338
      7c781621
  24. Dec 01, 2021
  25. Nov 23, 2021
  26. Nov 10, 2021
  27. Nov 06, 2021
  28. Nov 05, 2021
  29. Oct 29, 2021
    • David Blaikie's avatar
      Migrate the roundtrip tests to work similar to the llgdb tests · 8f46ddb1
      David Blaikie authored
      I'm not sure if there's a way to make this a bit more general - the
      property that matters is that there's /some/ itanium ABI target the
      tests can use to compile - not link or run in this case. But this seems
      sufficient for the llgdb tests, so it should be sufficient (though
      perhaps not necessary) for this roundtrip test.
      8f46ddb1
    • David Blaikie's avatar
      Adjust test to only compile and not link · fcd6d566
      David Blaikie authored
      Compilation is all that's needed here - linking helped avoid certain
      false positives in llvm-dwarfdump --verify related to overlapping
      functions when those functions were actually in distinct sections.
      That's since been fixed, so we can adjust the test to only compile, and
      not link.
      fcd6d566
  30. Oct 28, 2021
Loading