Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

rupprecht (Jordan Rupprecht)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2018, 11:39 AM (274 w, 5 d)

Recent Activity

Wed, Sep 13

rupprecht committed rG06055d98f061: [polly][www] Remove unused VideoJS (authored by rupprecht).
[polly][www] Remove unused VideoJS
Wed, Sep 13, 12:25 PM · Restricted Project

Aug 29 2023

rupprecht updated subscribers of D158942: [bazel] Include builtin headers with clang-tidy.

+@rupprecht @aeubanks, can you review this Bazel change?

Aug 29 2023, 9:12 PM · Restricted Project, Restricted Project

Aug 18 2023

rupprecht added a comment to D153156: [Clang] CWG1473: do not err on the lack of space after operator"".

Sorry, I don't want to mislead: I just mean there's a handy example in clang's unit tests. I don't see any instances of this in LLVM non-test code.

Aug 18 2023, 2:51 PM · Restricted Project, Restricted Project
rupprecht added a comment to D153156: [Clang] CWG1473: do not err on the lack of space after operator"".

The other common breakage I'm seeing is code that hasn't yet migrated from the "PRI" format macros, of which there's an example in LLVM itself: https://github.com/llvm/llvm-project/blob/6a0e536ccfef1f7bd64ee4153b4efc0aeecf28d4/clang/test/SemaCXX/cxx11-compat.cpp#L38

Aug 18 2023, 2:48 PM · Restricted Project, Restricted Project
rupprecht added a comment to D153156: [Clang] CWG1473: do not err on the lack of space after operator"".

Unfortunately the option -Wno-reserved-user-defined-literal fails after this:

#define MYTHING "_something_"

const char* f() {
  return "ONE"MYTHING"TWO";
}
$ clang -Wno-reserved-user-defined-literal repro.cxx
repro.cxx:4:15: error: no matching literal operator for call to 'operator""MYTHING' with arguments of types 'const char *' and 'unsigned long', and no matching literal operator template
    4 |   return "ONE"MYTHING"TWO";
      |               ^
1 error generated.

This is conforming right? Correct me if I'm wrong. My reading of https://eel.is/c++draft/lex.pptoken#3.3 is that "ONE"MYTHING"TWO" is a single preprocessing-token during phase 3 (https://eel.is/c++draft/lex.phases#1.3). Can @aaron.ballman confirm this?

The diagnostic behavior is correct. MYTHING doesn't get expanded until phase 4 (http://eel.is/c++draft/lex.phases#1.4), so this appears as "ONE"MYTHING as a single preprocessor token: https://eel.is/c++draft/lex.ext#nt:user-defined-string-literal and that token is an invalid UDL.

Aug 18 2023, 9:10 AM · Restricted Project, Restricted Project

Aug 7 2023

rupprecht committed rGc192b3d7281d: [bazel] Add missing deps for parsing headers standalone (authored by rupprecht).
[bazel] Add missing deps for parsing headers standalone
Aug 7 2023, 2:08 PM · Restricted Project

Aug 1 2023

rupprecht added a reverting change for rG0b1d1cdb8932: [CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding it: rGf5b5a30858f3: Revert "[CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding….
Aug 1 2023, 11:09 PM · Restricted Project, Restricted Project
rupprecht committed rGf5b5a30858f3: Revert "[CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding… (authored by rupprecht).
Revert "[CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding…
Aug 1 2023, 11:09 PM · Restricted Project, Restricted Project
rupprecht added a reverting change for D153638: [CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding it: rGf5b5a30858f3: Revert "[CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding….
Aug 1 2023, 11:09 PM · Restricted Project, Restricted Project
rupprecht added a comment to D153638: [CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding it.

Reduced:

struct a {
  a(decltype(nullptr));
  long b;
} *c;
enum { d };
struct t {
  _Atomic(a) e;
};
struct f : t {};
struct atomic {
  f g;
  void h() {
    f *j = &g;
    t *k = j;
    __c11_atomic_load(&k->e, d);
  }
};
a l(a *addr) {
  reinterpret_cast<atomic *>(addr)->h();
  return 0;
}
struct {
  void m(long v) {
    long w = sizeof(this);
    c = reinterpret_cast<a *>(w);
    a *o = c;
    l(&o[v]);
  }
} p;
a q();
long r;
bool u();
a s() {
  if (u()) return q();
  for (long i = r; i; i++) p.m(i);
  return nullptr;
}
Aug 1 2023, 11:06 PM · Restricted Project, Restricted Project
rupprecht added a comment to D153638: [CodeGenPrepare][NFC] Update the dominator tree instead of rebuilding it.

fyi, I bisected a crash during codegen prepare to this commit. I'm trying to reduce a repro now.

Aug 1 2023, 7:45 PM · Restricted Project, Restricted Project

Jul 28 2023

rupprecht committed rGc956f915cd4c: [RISCV][MC][MSan] Fix uninitialized data members (authored by rupprecht).
[RISCV][MC][MSan] Fix uninitialized data members
Jul 28 2023, 5:08 PM · Restricted Project, Restricted Project

Jul 24 2023

rupprecht committed rGcab89fe23a6b: [bazel] Add UPToSPIRV library/dep (authored by rupprecht).
[bazel] Add UPToSPIRV library/dep
Jul 24 2023, 7:34 PM · Restricted Project

Jun 29 2023

rupprecht added a comment to D153587: [GlobPattern] Support brace expansions.

LGTM, although this logic is already pretty obscure, so it's hard to follow. I wonder if we have fuzzers hooked up to this so we don't have to worry too much if this misses an edge case.

Jun 29 2023, 12:14 PM · Restricted Project, Restricted Project
rupprecht added a comment to D154014: [SpecialCaseList] Add option to use Globs instead of Regex to match patterns.

This is a breaking change since some SCLs might use .* or (abc|def) which are supported regexes but not valid globs. Since we have just cut clang 16.x this is a good time to make this change.

My user has some ignore lists, but there is no ^[a-z]+:.*\( or ^[a-z]+:\. occurrence, so this change is likely safe for us.

Jun 29 2023, 11:51 AM · Restricted Project, Restricted Project, Restricted Project

Jun 9 2023

rupprecht committed rG261b693afd82: [bazel][NFC] Add Dialect/Func/Extensions library and deps (authored by rupprecht).
[bazel][NFC] Add Dialect/Func/Extensions library and deps
Jun 9 2023, 5:05 PM · Restricted Project

Jun 7 2023

rupprecht added a comment to D150226: [Clang] Remove ability to downgrade warning on the diagnostic for setting a non fixed enum to a value outside the range of the enumeration values.

As a general question/feature request: is there a way to have specific warnings apply even for system headers? It would be nice if I could check what breaks when by adding -Wsystem-error=enum-constexpr-conversion to the global build flags. Rebuilding clang w/ this patched in also works, but is a little more difficult/noisy.

I think there's no per-warning flag (you can turn on _all_ of the enabled warnings in system headers with -Wsystem-headers), but by modifying the clang sources you can add ShowInSystemHeader to the diagnostic.
E.g.

 def warn_constexpr_unscoped_enum_out_of_range : Warning<
   "integer value %0 is outside the valid range of values [%1, %2] for this "
-  "enumeration type">, DefaultError, InGroup<DiagGroup<"enum-constexpr-conversion">>;
+  "enumeration type">, DefaultError, InGroup<DiagGroup<"enum-constexpr-conversion">>, ShowInSystemHeader;
Jun 7 2023, 6:01 PM · Restricted Project

Jun 6 2023

rupprecht added a comment to D150226: [Clang] Remove ability to downgrade warning on the diagnostic for setting a non fixed enum to a value outside the range of the enumeration values.

When looking for errors in existing codebases, don't forget that this diagnostic is currently suppressed by default in system headers. So this patch is moving from "no diagnostics for code in system headers" to "unconditional hard error in system headers". Just removing -Wno-enum-constexpr-conversion from your build flags is insufficient to test that this patch won't break code!

I haven't done any tests, but I'm rather skeptical that this change is going to be viable without breaking stuff, still.

+1 to needing to test against system headers, but also: if we find any system headers that would be broken by this, we should proactively alert the owners of those headers so that they understand there's urgency to getting the fixes into their headers so that the entire ecosystem isn't held back. Alternatively, if it's just one problematic system header in an LTS release somewhere, we could perhaps put in a compat hack for just that header so we can move forward.

Jun 6 2023, 12:57 PM · Restricted Project
rupprecht updated subscribers of D150805: Rate limit progress reporting.

The other tricky part I missed before is this bit in between pulling the event off the listener queue and deciding to show it:

Jun 6 2023, 9:42 AM · Restricted Project, Restricted Project

Jun 5 2023

rupprecht added a comment to D150805: Rate limit progress reporting.

I also like Jordan's rate limiting idea. In my mind that should be a property of the broadcaster. Different tools (e.g. vscode vs the command line) could specify different values when register a listener.

Jun 5 2023, 7:11 PM · Restricted Project, Restricted Project

May 19 2023

rupprecht added a comment to D150322: [NFC] Move __CORRECT_ISO_CPP_WCHAR_H_PROTO closer to wchar.h include.

I forgot about this patch but I won't be around to watch it go through buildbots etc., so I'll plan to land it as soon as I get back in a couple weeks.

Does this main the breakage of D150015 will remain for a couple of weeks. If so I think we should revert D150015 and look at a good solution for you when you're back. WDYT?

May 19 2023, 3:35 PM · Restricted Project, Restricted Project

May 18 2023

rupprecht added a comment to D150322: [NFC] Move __CORRECT_ISO_CPP_WCHAR_H_PROTO closer to wchar.h include.

I forgot about this patch but I won't be around to watch it go through buildbots etc., so I'll plan to land it as soon as I get back in a couple weeks.

May 18 2023, 5:12 PM · Restricted Project, Restricted Project
rupprecht added a comment to D150875: Make dereferencing a void* a hard-error instead of warn-as-error.

I found one use here: https://github.com/ericniebler/range-v3/blob/48dc2eb666c07e6afc8ec5edf7db9a5c6cde7a56/include/range/v3/functional/invoke.hpp#L51

May 18 2023, 9:23 AM · Restricted Project, Restricted Project

May 17 2023

rupprecht added a comment to D150805: Rate limit progress reporting.

This is a nice proof of concept, but I think we should go with a time-based approach to rate limit this. (Anyone else in LLDB know if we have some utils around to help with this?)

May 17 2023, 11:30 AM · Restricted Project, Restricted Project
rupprecht added a comment to D150226: [Clang] Remove ability to downgrade warning on the diagnostic for setting a non fixed enum to a value outside the range of the enumeration values.

We're still using -Wno-enum-constexpr-conversion, although I'm not sure if we need that or if we just forgot to remove it after doing some cleanup. I'm trying it out now. (Sorry, I'm not sure we were aware that having a way to turn this off was just temporary).

Please let me know how things look on your end.

May 17 2023, 10:41 AM · Restricted Project

May 16 2023

rupprecht added a comment to D150639: [lldb] Define lldbassert based on NDEBUG instead of LLDB_CONFIGURATION_DEBUG.

+1 to being surprised this is not already the case

Some other places should be updated after this, e.g. lldb/source/Symbol/SymbolFile.cpp also has a use that can be trivially updated:

#if defined(LLDB_CONFIGURATION_DEBUG)
  // We assert that we have to module lock by trying to acquire the lock from a
  // different thread. Note that we must abort if the result is true to
  // guarantee correctness.
  assert(std::async(
             std::launch::async,
             [this] {
               return this->GetModuleMutex().try_lock();
             }).get() == false &&
         "Module is not locked");
#endif

-> just wrap it in lldbassert

This code actually has a comment right above it explaining that it's too expensive to do in release builds, so this isn't a good candidate for lldbassert. But this logic can be improved: it duplicates checking the LLDB_CONFIGURATION_DEBUG in both ASSERT_MODULE_LOCK and AssertModuleLock and should use NDEBUG too. I'll address that in a separate patch.

WDYT about just replacing LLDB_CONFIGURATION_DEBUG with LLVM's EXPENSIVE_CHECKS in this case?

May 16 2023, 9:44 AM · Restricted Project, Restricted Project
rupprecht accepted D150639: [lldb] Define lldbassert based on NDEBUG instead of LLDB_CONFIGURATION_DEBUG.

+1 to being surprised this is not already the case

May 16 2023, 6:46 AM · Restricted Project, Restricted Project

May 11 2023

rupprecht added a comment to D150068: [X86][AsmParser] Refactor code in AsmParser.

Is it expected that this patch would cause any differences in the final binary? It seems to be just a refactoring, but we bisected a runtime crash to this commit.

It should not cause any difference in binary in theory. Could you show the difference or provide a small reproducer?

May 11 2023, 10:05 PM · Restricted Project, Restricted Project
rupprecht added a comment to D150068: [X86][AsmParser] Refactor code in AsmParser.

Is it expected that this patch would cause any differences in the final binary? It seems to be just a refactoring, but we bisected a runtime crash to this commit.

May 11 2023, 9:24 PM · Restricted Project, Restricted Project
rupprecht added a comment to D150226: [Clang] Remove ability to downgrade warning on the diagnostic for setting a non fixed enum to a value outside the range of the enumeration values.

We're still using -Wno-enum-constexpr-conversion, although I'm not sure if we need that or if we just forgot to remove it after doing some cleanup. I'm trying it out now. (Sorry, I'm not sure we were aware that having a way to turn this off was just temporary).

May 11 2023, 7:29 PM · Restricted Project
rupprecht accepted D150392: [lldb-vscode] Fix handling of RestartRequest arguments..
May 11 2023, 12:48 PM · Restricted Project, Restricted Project
rupprecht committed rG8a6746065a90: [bazel][NFC] Add missing dep after 5ac48ef51393e6d8392182ad439a22002571d554 (authored by rupprecht).
[bazel][NFC] Add missing dep after 5ac48ef51393e6d8392182ad439a22002571d554
May 11 2023, 12:41 PM · Restricted Project
rupprecht added a comment to D150392: [lldb-vscode] Fix handling of RestartRequest arguments..

Is there a test case you can add for this?

May 11 2023, 12:16 PM · Restricted Project, Restricted Project

May 10 2023

rupprecht updated the diff for D150322: [NFC] Move __CORRECT_ISO_CPP_WCHAR_H_PROTO closer to wchar.h include.
  • Fix some indentation
May 10 2023, 4:02 PM · Restricted Project, Restricted Project
rupprecht added inline comments to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
May 10 2023, 4:01 PM · Restricted Project, Restricted Project
rupprecht requested review of D150322: [NFC] Move __CORRECT_ISO_CPP_WCHAR_H_PROTO closer to wchar.h include.
May 10 2023, 4:00 PM · Restricted Project, Restricted Project
rupprecht committed rG0ec57bf7b18e: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate. (authored by rupprecht).
[libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate.
May 10 2023, 3:44 PM · Restricted Project, Restricted Project
rupprecht closed D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
May 10 2023, 3:43 PM · Restricted Project, Restricted Project
rupprecht updated the diff for D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
  • Add a comment explaining __CORRECT_ISO_CPP_WCHAR_H_PROTO, and uncomment the actual fix now that I'm done testing CI
May 10 2023, 12:04 PM · Restricted Project, Restricted Project
rupprecht added a comment to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

Sadly, when I commented out the fix & ran it through CI, the only failure was on the "no wide characters" bot because I didn't have the right XFAIL line for that. I guess we don't have any bots with an old enough glibc?

May 10 2023, 10:12 AM · Restricted Project, Restricted Project
rupprecht updated the diff for D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
  • Add XFAIL: no-wide-characters to fix CI, and update the comment with bug details
May 10 2023, 10:07 AM · Restricted Project, Restricted Project
rupprecht updated the diff for D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
  • Add some tests, and temporarily comment out the fix to see if CI catches it.
May 10 2023, 7:52 AM · Restricted Project, Restricted Project
rupprecht added a comment to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

Does any existing test fail when we run the test suite with glibc-2.25, or do we need to add a test case for this?

No existing test case that I'm aware of. Let me see if the repro Ray posted can be added to the test suite.

May 10 2023, 7:00 AM · Restricted Project, Restricted Project
rupprecht updated the diff for D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

Restore to v1 of the patch

May 10 2023, 6:59 AM · Restricted Project, Restricted Project

May 9 2023

rupprecht accepted D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability.

No non-determinism detected with this on top of D150210, so LGTM. Thanks!

May 9 2023, 3:53 PM · Restricted Project, Restricted Project
rupprecht added a comment to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

IMO we should just #include <wchar.h> and <uchar.h> instead. That way we don't have to do anything funky in multiple headers. In fact, our wchar.h fixes up some interfaces for non-C++-friendly C libraries.

May 9 2023, 2:54 PM · Restricted Project, Restricted Project
rupprecht updated the diff for D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
  • Use #include instead of setting __CORRECT_ISO_CPP_WCHAR_H_PROTO again
May 9 2023, 2:51 PM · Restricted Project, Restricted Project
rupprecht added a comment to D146622: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by GEP indices.

This is causing a compiler crash, which looks like a div by zero. I'll start working on a repro, but I'd like to revert to keep trunk green.

Reverted in e08c397a88077c50dc25e71b39b9d5efbfc85a9a

May 9 2023, 12:05 PM · Restricted Project, Restricted Project
rupprecht added a reverting change for rG0574a4be879e: [AggressiveInstCombine] folding load for constant global patterened arrays and…: rGe08c397a8807: Revert "[AggressiveInstCombine] folding load for constant global patterened….
May 9 2023, 10:39 AM · Restricted Project, Restricted Project
rupprecht committed rGe08c397a8807: Revert "[AggressiveInstCombine] folding load for constant global patterened… (authored by rupprecht).
Revert "[AggressiveInstCombine] folding load for constant global patterened…
May 9 2023, 10:39 AM · Restricted Project, Restricted Project
rupprecht added a comment to D146622: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by GEP indices.

This is causing a compiler crash, which looks like a div by zero. I'll start working on a repro, but I'd like to revert to keep trunk green.

May 9 2023, 10:27 AM · Restricted Project, Restricted Project

May 8 2023

rupprecht added a comment to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

IMO we should just #include <wchar.h> and <uchar.h> instead. That way we don't have to do anything funky in multiple headers. In fact, our wchar.h fixes up some interfaces for non-C++-friendly C libraries.

May 8 2023, 6:30 PM · Restricted Project, Restricted Project

May 5 2023

rupprecht added a comment to D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..

I can't reproduce this outside of a modules-enabled build, and unfortunately I don't know how to write a modules test case. Anyway, here's the stderr I see:

wchar.h:316:29: error: functions that differ only in their return type cannot be overloaded
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
                   ~~~~~~~~~^
wchar.h:320:17: note: previous declaration is here
extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
       ~~~~~~~~~^
May 5 2023, 7:26 PM · Restricted Project, Restricted Project
rupprecht requested review of D150015: [libc++] Consistently enable __CORRECT_ISO_CPP_WCHAR_H_PROTO in mbstate..
May 5 2023, 7:16 PM · Restricted Project, Restricted Project

May 1 2023

rupprecht added a comment to D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability.

All the operations involved here should be deterministic. You're probably looking for a bug elsewhere. One possibility is that LoopInfo doesn't contain the correct information... for example, the CFG changes, but that change isn't recorded in LoopInfo.

May 1 2023, 5:24 PM · Restricted Project, Restricted Project
rupprecht added a comment to D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability.

I'm not making very good progress with a test case. So far the only interesting insights I may have:

  • This only reproduces in optimized builds. Setting -UNDEBUG makes the problem go away. Maybe debug builds are normalizing something?
  • The problem obvious goes away with -mllvm -cgp-max-loop-inv-users-to-scan=0. One of my guesses was that V->uses() ordering might be non-deterministic, so you could get different answers in isUsedInLoop if the loop is terminated before you visit the instruction that would cause you to return true. That is not the case: the problem still exists with -mllvm -cgp-max-loop-inv-users-to-scan=10000.

Otherwise, if I do the usual process of getting clang to dump the IR and pipe that into opt, or various things like that, the process is deterministic. If you have any guess for what might get a reproducer, I can give it a shot.

May 1 2023, 2:28 PM · Restricted Project, Restricted Project

Apr 28 2023

rupprecht added a comment to D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability.

@chill, are you able to reproduce this?

Apr 28 2023, 7:49 AM · Restricted Project, Restricted Project

Apr 27 2023

rupprecht added a reverting change for rG5344d8e10bb7: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address…: rGfbf42f1fe2b5: Revert "[CodeGenPrepare] Estimate liveness of loop invariants when checking for….
Apr 27 2023, 7:17 PM · Restricted Project, Restricted Project
rupprecht committed rGfbf42f1fe2b5: Revert "[CodeGenPrepare] Estimate liveness of loop invariants when checking for… (authored by rupprecht).
Revert "[CodeGenPrepare] Estimate liveness of loop invariants when checking for…
Apr 27 2023, 7:17 PM · Restricted Project, Restricted Project
rupprecht added a reverting change for D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability: rGfbf42f1fe2b5: Revert "[CodeGenPrepare] Estimate liveness of loop invariants when checking for….
Apr 27 2023, 7:16 PM · Restricted Project, Restricted Project
rupprecht added a comment to D143897: [CodeGenPrepare] Estimate liveness of loop invariants when checking for address folding profitability.

This discovers unstable behavior.
For me, MCA/ResourceManaget.o sometimes differs.
Reproduced by stage1 clang.

Apr 27 2023, 6:57 PM · Restricted Project, Restricted Project

Apr 26 2023

rupprecht added a comment to D143914: [libc++] Clean up pair's constructors and assignment operators.

@rupprecht I'd like to land this within the next few days. If you're able to confirm that this doesn't cause as many issues for you anymore, that would be great. Otherwise, i'll land this without your confirmation -- I am fairly confident this new patch should solve the vast majority of issues you were seeing.

Apr 26 2023, 5:11 PM · Restricted Project, Restricted Project
rupprecht committed rG8b39527535ff: [NFC] Wrap entire debug logging loop in LLVM_DEBUG (authored by rupprecht).
[NFC] Wrap entire debug logging loop in LLVM_DEBUG
Apr 26 2023, 5:28 AM · Restricted Project, Restricted Project

Apr 21 2023

rupprecht accepted D148862: [bazel] Update Bazel version to 6.1.2..

@rupprecht Reran. Seems to work.

Apr 21 2023, 9:46 AM · Restricted Project, Restricted Project

Apr 20 2023

rupprecht added a comment to D148862: [bazel] Update Bazel version to 6.1.2..

SGTM, I'm not sure if LLVM has any policy w/ bazel versions like it does for host toolchains or CMake. (Probably not, since bazel is not an officially supported build system for LLVM). As long as CI passes, this should be fine. Any specific reason you're bumping it?

Apr 20 2023, 6:20 PM · Restricted Project, Restricted Project

Apr 14 2023

rupprecht added a comment to D148368: [RemoveRedundantDebugValues] Track registers to efficiently handle many DBG_VALUEs..

Trying to get an actual reduction to share in case this isn't the right approach. The source is basically this:

Apr 14 2023, 1:21 PM · Restricted Project, Restricted Project
rupprecht requested review of D148368: [RemoveRedundantDebugValues] Track registers to efficiently handle many DBG_VALUEs..
Apr 14 2023, 12:51 PM · Restricted Project, Restricted Project

Apr 12 2023

rupprecht added a comment to D146987: [Assignment Tracking] Enable by default.

The latest reland 3820e9a2b29a2e268319ed6635da0d59e18d736d still caused some issues to our internal workloads. Stay tuned...

So far we have only found crashes with ThinLTO workloads.

Apr 12 2023, 3:58 PM · Restricted Project, debug-info, Restricted Project

Apr 10 2023

rupprecht accepted D147805: [lldb-vscode] Fix two issues with runInTerminal test..

Thanks!

Apr 10 2023, 3:50 PM · Restricted Project, Restricted Project
rupprecht added inline comments to D147831: [lldb-vscode] Implement RestartRequest.
Apr 10 2023, 1:21 PM · Restricted Project, Restricted Project
rupprecht committed rG5e57f1bf5283: [bazel][NFC] Replace @bazel_tools//src/conditions with equivalent @platforms… (authored by rupprecht).
[bazel][NFC] Replace @bazel_tools//src/conditions with equivalent @platforms…
Apr 10 2023, 11:43 AM · Restricted Project
rupprecht closed D147948: [bazel][NFC] Replace @bazel_tools//src/conditions with equivalent @platforms rules.
Apr 10 2023, 11:43 AM · Restricted Project, Restricted Project
rupprecht updated the summary of D147948: [bazel][NFC] Replace @bazel_tools//src/conditions with equivalent @platforms rules.
Apr 10 2023, 9:53 AM · Restricted Project, Restricted Project
rupprecht requested review of D147948: [bazel][NFC] Replace @bazel_tools//src/conditions with equivalent @platforms rules.
Apr 10 2023, 9:03 AM · Restricted Project, Restricted Project

Apr 7 2023

rupprecht added a reviewer for D147805: [lldb-vscode] Fix two issues with runInTerminal test.: rupprecht.

The pid plumbing looks fine for the happy case, but I think we could be more lenient if (for whatever reason) the pid flag isn't being set on non-Linux systems that won't actually be using it. Even on a Linux system, this is only needed if ptrace_scope != 0, so if the pid isn't being provided there, we could just skip the prctl call and hope the user's system has a value of 0 for that.

Apr 7 2023, 6:43 PM · Restricted Project, Restricted Project
rupprecht added inline comments to D147805: [lldb-vscode] Fix two issues with runInTerminal test..
Apr 7 2023, 1:59 PM · Restricted Project, Restricted Project

Apr 4 2023

rupprecht committed rG3d9cc946ab4f: [bazel] -lrt is not available on Android. (authored by Byungchul Kim <byungchul@google.com>).
[bazel] -lrt is not available on Android.
Apr 4 2023, 8:08 AM · Restricted Project
rupprecht closed D147354: [bazel] -lrt is not available on Android..
Apr 4 2023, 8:08 AM · Restricted Project, Restricted Project

Mar 31 2023

rupprecht added a comment to D147354: [bazel] -lrt is not available on Android..

Note: this uses @platforms//os:android and not @bazel_tools//src/conditions:android because android is not one of the configs listed in @bazel_tools//src/conditions.

Mar 31 2023, 1:09 PM · Restricted Project, Restricted Project
rupprecht requested review of D147354: [bazel] -lrt is not available on Android..
Mar 31 2023, 1:05 PM · Restricted Project, Restricted Project

Mar 27 2023

rupprecht accepted D147001: [lldb] TestInferiorCrashing.py should check for crash reason.
Mar 27 2023, 6:13 PM · Restricted Project, Restricted Project
rupprecht added a comment to D146862: [X86] Fix the incorrect displacement for prolog/epilog.

Test are passing again after this patch, so I think we're all good now. Thanks!

Mar 27 2023, 9:45 AM · Restricted Project, Restricted Project

Mar 24 2023

rupprecht added a comment to D145650: [X86] Create extra prolog/epilog for stack realignment.

This relanded in e4ceb5a7bb9b8f6d730530345649286370dd3ff8, and we're seeing runtime errors in Halide when building with asan.

Mar 24 2023, 12:41 PM · Restricted Project, Restricted Project

Mar 22 2023

rupprecht accepted D146668: [lldb-server] Use Platform plugin corresponding to the host.

Thanks! This indeed fixes the issue I'm seeing.

Mar 22 2023, 6:57 PM · Restricted Project, Restricted Project
rupprecht added inline comments to D146263: [lldb] Move UnixSignals creation into Platform plugins.
Mar 22 2023, 2:41 PM · Restricted Project, Restricted Project
rupprecht added inline comments to D146263: [lldb] Move UnixSignals creation into Platform plugins.
Mar 22 2023, 2:18 PM · Restricted Project, Restricted Project
rupprecht added a comment to D146263: [lldb] Move UnixSignals creation into Platform plugins.

This seems to cause a regression on Linux where we no longer get the signal details.

Mar 22 2023, 1:38 PM · Restricted Project, Restricted Project

Mar 21 2023

rupprecht added a comment to D146590: [lldb] Update some uses of Python2 API in typemaps..

lldb -o "script data=lldb.SBData(); data.SetDataFromUInt64Array([2**63])"

Just tried this, didn't crash LLDB but it does give me the OverflowError you mentioned.

Mar 21 2023, 7:12 PM · Restricted Project, Restricted Project
rupprecht added reviewers for D146590: [lldb] Update some uses of Python2 API in typemaps.: bulbazord, mib.

Can you add a regression test that invokes lldb -o "script data=lldb.SBData(); data.SetDataFromUInt64Array([2**63])"? Just a simple shell test should suffice.

Mar 21 2023, 5:21 PM · Restricted Project, Restricted Project
rupprecht accepted D145940: [lldb] Add test for unavailable registers.
Mar 21 2023, 12:17 PM · Restricted Project, Restricted Project
rupprecht added a comment to D145940: [lldb] Add test for unavailable registers.

Seems like most xml-based tests like this are in lldb/test/API/functionalities/gdb_remote_client, is there a reason this is not in that package too?

Mar 21 2023, 9:09 AM · Restricted Project, Restricted Project

Mar 20 2023

rupprecht added a comment to D144958: [SLP]Initial support for reshuffling of non-starting buildvector/gather nodes..

a more succinct version: https://godbolt.org/z/7YTqP89Mv shows that slp-vectorizer introduces loads from poison

Must be fixed in 59ff9d3777701ebbe6a59ab2edb8792ef3d2873f

Mar 20 2023, 12:23 PM · Restricted Project, Restricted Project

Mar 17 2023

rupprecht added a comment to D144958: [SLP]Initial support for reshuffling of non-starting buildvector/gather nodes..

We're still seeing issues with this at trunk, even after the followup assertion fix in 874c49f55454cb285282e6d184f809945c0beca1.

Mar 17 2023, 3:55 PM · Restricted Project, Restricted Project

Mar 7 2023

rupprecht added a comment to D144285: [Clang] Implement CWG2518 - static_assert(false).

If however we find this change to disruptive, we should inform WG21.

Mar 7 2023, 8:43 PM · Restricted Project, Restricted Project
rupprecht added a comment to D145533: [lldb] Fix after __SVCount_t added for AArch64.

5195e14bc1222e1b3f1b7b43c04e1c1ac3504cb1 just landed the same thing as this, although it didn't put it in the sorted order. Feel free to land this if you remove the other entry.

Mar 7 2023, 5:21 PM · Restricted Project, Restricted Project
rupprecht accepted D145533: [lldb] Fix after __SVCount_t added for AArch64.
Mar 7 2023, 5:19 PM · Restricted Project, Restricted Project

Mar 3 2023

rupprecht committed rGebb94ecb9525: [bazel] Fix errno dep location: libc_function_deps -> deps (authored by rupprecht).
[bazel] Fix errno dep location: libc_function_deps -> deps
Mar 3 2023, 1:00 PM · Restricted Project
rupprecht committed rGfc840808e6cd: [bazel] Add errno dep to stdlib tests (authored by rupprecht).
[bazel] Add errno dep to stdlib tests
Mar 3 2023, 12:55 PM · Restricted Project

Mar 2 2023

rupprecht committed rG6db44e52ce47: [Linux] Add kernel.yama.ptrace_scope note when ptrace fails to attach. (authored by rupprecht).
[Linux] Add kernel.yama.ptrace_scope note when ptrace fails to attach.
Mar 2 2023, 1:52 PM · Restricted Project
rupprecht closed D144904: [Linux] Add kernel.yama.ptrace_scope note when ptrace fails to attach..
Mar 2 2023, 1:51 PM · Restricted Project, Restricted Project