User Details
- User Since
- May 9 2013, 11:10 AM (472 w, 1 d)
Yesterday
Wed, May 25
Tue, May 24
I see some unrelated whitespace changes, we generally don't like mixing those with "real" changes. But the description seems fine to me.
Mon, May 23
Unnamed variables are an oddity, sure; we've had to patch a downstream test or two that wasn't being careful enough. But not providing a name is entirely defensible, and consumers should be willing to cope with DWARF that doesn't fully meet their expectations.
Wed, May 18
Thu, May 5
Wed, May 4
The buildbot totals are counting the number of shards across all unit tests. The summary at the end of the log is counting the number of test cases like before.
Mon, May 2
Thu, Apr 28
This feels like (maybe is?) supporting a target whose assembler happens not to be generally distributed, but which LLVM still supports as a target. For those environments/bots that actually have the assembler installed, having that extra level of validation seems worthwhile.
Apr 27 2022
Lit is aware of zlib's presence or absence, you could use REQUIRES: zlib (or you might factor that bit out into its own test with the REQUIRES).
Apr 26 2022
Comparing different DWARF output in a more abstract way is exactly what the llvm-dva tool is designed to do; unfortunately it isn't upstream yet, although @CarlosAlbertoEnciso is working on generating the patches now.
I'd prefer not to have a works-in-a-few-cases-for-one-tool feature come in when a better solution is around the corner.
Apr 25 2022
I don't spend a lot of time mucking around with IR transforms, so I'm not clear how _preserving_ the debug instructions makes it _possible_ to delete the block. Intuitively that doesn't make sense.
I'm okay with doing it this way. My impression over the years (as a debug-info guy, not as a ptxas user) is that ptxas evolves slowly and this is not really "busy work."
Apr 22 2022
LGTM
Apr 21 2022
Apr 20 2022
What's the DW_AT_type referring to? (why is there a type called ".str"?)
Offhand, it seems like the next step would be a patch to make the update scripts apply --allow-unused-prefixes to all FileCheck commands. Then all autogenerated scripts would (eventually) DTRT, and this patch could then be reverted.
Apr 19 2022
Apr 14 2022
Apr 8 2022
Apr 7 2022
Apr 6 2022
Apr 5 2022
OK. It is indeed a small obvious fix.
Apr 1 2022
I really like these results but I don't feel confident enough about Python to give a final okay.
Mar 29 2022
I see that for %if feature {A} %else {B} the space before the %else is not preserved in the result.
If there is no %else what happens? e.g., XX %if feature {YY} ZZ Asking because I see no test case for this.
Mar 25 2022
+cfe-commits; that should have happened automatically?
Relevant quote from Options.td:
def gsimple_template_names : Flag<["-"], "gsimple-template-names">, Group<g_flags_Group>; def gsimple_template_names_EQ : Joined<["-"], "gsimple-template-names=">, HelpText<"Use simple template names in DWARF, or include the full " "template name with a modified prefix for validation">, Values<"simple,mangled">, Flags<[CC1Option, NoDriverOption]>; def gno_simple_template_names : Flag<["-"], "gno-simple-template-names">, Group<g_flags_Group>;
Mar 24 2022
My suspicion is that most peopke just run check-llvm or check-clang, which includes the regular lit tests, and therefore already ends up with things split across he available cores.
Mar 23 2022
Mar 22 2022
Mar 21 2022
I traced it back to 2011 (commit 40f8f2ff "Add support for a new extension to the .file directive") , where it it was added as an extension and (I assume) later included into DWARFv5. Do we still want to support it as an extension for DWARF < 5, or it is only needed for integrated assembler?
Mar 18 2022
What I've seen done in other cases is to write a second test file that uses the first test file as input. This lets the second test file have different requirements than the first. In the example here, you wouldn't modify access-non-generic.ll but rather add a second file, say access-non-generic-ptxas.ll that contained just this:
REQUIRES: ptxas RUN: llc < access-non-generic.ll -march=nvptx -mcpu=sm_20 -o %t.ptx RUN: ptxas -c %t.ptx -o /dev/null
The upside is, this uses existing lit mechanisms (feature test based on discovery of "ptxas" on PATH, or some environment variable is set).
The downside is, a bit more effort to keep the two files consistent; although in this case, it looks like the "ptxas" commands are pretty simple so I shouldn't think it would be a real burden.
You still need a test for this change. It seems there isn't really an existing test for this API; it's used in llvm/unittests/MC/TargetRegistry.cpp, but that's testing the registry rather than the API.
Test? I'm a little surprised that changing the spelling of an arch didn't cause any failures.
Makes sense, LGTM.
We had the same thing happen downstream. One of our guys speculates that because some allocations are "owned" by the returned TokenStream, but the returned TokenStream is a temporary, the lifetimes might not be sufficient and some deallocations can happen.
If I change the nested calls stripComments(cook(lex(Code, Opts), Opts)) to separate calls stored to separate locals, the problem goes away.
Mar 16 2022
LGTM, sorry I missed this!
Mar 15 2022
Mar 4 2022
+ @hokein who has done work in the one place where replaceNestedName is used.
I think the encoding of the line table may make it infeasible to walk backwards. But perhaps the code that does interpret the line table could keep track of the most-recent-nonzero-line and return that in addition to (or instead of) zero, when the requested address does resolve to zero? If it's instead-of, the API would have to return an indication that it was approximated, so this could be displayed appropriately.
Mar 3 2022
Incidentally I agree with @jhenderson that there should be some indication in the output that a result is approximate.
The decrementing solution came up because in the cases where we see this in the wild, it's symbolizing a backtrace (or possibly just one return address) and the return address naturally doesn't point to the call instruction, it points one past the call instruction; the instruction after a call might have line 0 for various reasons, the most blatant being that it's a noreturn call. But the call instruction itself nearly always will not have line 0.
So, _in practice_, we'll basically decrement once and be done.
Feb 28 2022
Feb 22 2022
Seems to me there have been other cases where .* matching was greedier than expected, so this seems like the right fix.
Feb 17 2022
Ping; + @bkramer who reviewed the original patch that added this test.
Feb 14 2022
The ability to enable/disable accelerators on MachO (not currently possible - since it's hardcoded in the backend) - eg: someone adding -gno-pubnames to reduce debug info size, but in the process breaking lldb's behavior due to missing accelerator tables.
Feb 11 2022
Ping; +@kadircet