search for: uselistorder

Displaying 20 results from an estimated 39 matches for "uselistorder".

2018 Feb 26
1
Bug in use-list order serialization
Hello, I want to ask if incorrect serialization of a constant's use-list order is considered as a bug. While compiling some programs with clang -c -emit-llvm -O2 -g I noticed that for many of the bitcode files the verify-uselistorder tool terminates with output *** verify-uselistorder *** verify bitcode LLVM ERROR: use-list order changed where the mismatch is always for the constant i64 0. This happens both with version 5.0.1 and 6.0 RC3 of LLVM and clang. I managed to trigger this behavior with the following reduced test-cas...
2018 May 14
6
Removing LLVM testing tools from the install distribution
...g removing these 5 binaries from 5.0.2-rc1 would have saved over a hundred megabytes in uncompressed space for macOS users: Binary name | Size in megabytes -------------------------------------------- clang-check: 54.6725 llvm-c-test: 33.8384 clang-import-test: 20.6708 c-index-test: 19.8632 verify-uselistorder: 2.84348 vedant
2014 Jul 31
2
[LLVMdev] Inconsistent third field in global_ctors (was Re: [llvm] r214321 - UseListOrder: Visit global values)
> On 2014-Jul-30, at 18:05, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > >> On 2014-Jul-30, at 17:19, Reid Kleckner <rnk at google.com> wrote: >> >>> On Wed, Jul 30, 2014 at 3:46 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote: >>>> Looking a little deeper, it's not "old-style" exactly; rejecting this
2014 Jul 31
2
[LLVMdev] Inconsistent third field in global_ctors (was Re: [llvm] r214321 - UseListOrder: Visit global values)
> On 2014-Jul-31, at 10:07, Reid Kleckner <rnk at google.com> wrote: > >> On Thu, Jul 31, 2014 at 9:49 AM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: >> Hold on, I'm still not sure what kind of guarantees (restrictions) the C >> API imposes. >> >> If I implement (2), then -verify will fail if someone (e.g.) adds >>
2014 Jul 30
2
[LLVMdev] Inconsistent third field in global_ctors (was Re: [llvm] r214321 - UseListOrder: Visit global values)
+reid, +llvmdev, -llvm-commits > On 2014-Jul-30, at 11:56, Rafael Avila de Espindola <rafael.espindola at gmail.com> wrote: > > >> I think the fix is to upgrade old-style global arrays (or reject >> them?) in the .ll parser. >> > > The .ll format is not stable, so you should be able to just reject it. Looking a little deeper, it's not
2014 Jul 31
2
[LLVMdev] Inconsistent third field in global_ctors (was Re: [llvm] r214321 - UseListOrder: Visit global values)
On Wed, Jul 30, 2014 at 3:46 PM, Rafael Espíndola < rafael.espindola at gmail.com> wrote: > > Looking a little deeper, it's not "old-style" exactly; rejecting this > > isn't trivial. > > > > - According to LangRef, the third field is optional [1]. > > > > [1]: > http://llvm.org/docs/LangRef.html#the-llvm-global-ctors-global-variable
2017 Sep 13
2
IVUsers pass is fragile. Is this okay? How can it be resolved?
...Users. Some sort of guiding light documentation or source comments that explain what the analysis is supposed to be doing seem to be missing. For example, the following IR will produce different sets of IV users if either: i) The order of the PHI nodes in the %loop block are reordered; or ii) The uselistorder directive is uncommented --- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1" target triple = "x86_64-unknown-linux-gnu" define void @test(i64 %v1, i32 %v2, i64* %addr) { entry: br label %loop loop: %iv = phi i64 [%v1, %entry], [%iv.inc, %loop] %iv2 = phi i...
2015 May 20
5
[LLVMdev] RFC: Reduce the memory footprint of DIEs (and DIEValues)
Pete Cooper and I have been looking at memory profiles of running llc on verify-uselistorder.lto.opt.bc (ld -save-temps dump just before CodeGen of building verify-uselistorder with -flto -g). I've attached leak-backend.patch, which we're using to make Intrustruments more accurate (instead of effectively leaking things onto BumpPtrAllocators, really leak them with malloc()). (I...
2015 Apr 01
4
[LLVMdev] [RFC] Setting preserve-bc-use-list-order=true by default
...ing between the LTO optimization pipeline and the LTO codegen pipeline. On SPEC, serializing to/from bitcode will change the output executable in 33 benchmarks. If you use `-preserve-bc-use-list-order`, all executables match. How? ==== Have a look at `BitcodeReader::ParseUseLists()` and `predictUseListOrder()` in `lib/Bitcode/Writer/ValueEnumerator.cpp`. Does it degrade smoothly if IR changes? ======================================= Yes. If a `Value`'s use-list has changed in size (e.g., because of bitcode upgrades), its use-list order record is ignored. What does it cost? ==================...
2015 Aug 31
4
RFC: LTO should use -disable-llvm-verifier
On Mon, Aug 31, 2015 at 10:12 AM, Rafael Espíndola <llvm-dev at lists.llvm.org> wrote: > > > Not sure I follow? Generally LTO inputs are going to be "user provided" > (in the sense that they're not produced immediately prior by the same > process - or you'd have just produced a single Module in the first place, I > would imagine) so changing the default
2019 May 27
2
Representations of IR in the output of opt
...This would explain why text files are not affected: the symbols are used directly in text form so there is no need for this table. I suppose that settles the question of where. Out of curiosity, I'd like to know if there is a way to order the table in a canonical form. I found -preserve-bc-uselistorder which makes more sense (and seems to correspond because the table lists all uses of each symbol), but no luck yet. At least now I'm sure that there is no semantic difference between the programs so it's a great help. :D Thanks, Sébastien Michelland On 5/27/19 1:48 PM, Mehdi AMINI wrot...
2019 May 27
2
Representations of IR in the output of opt
...ting section of the bytecode file is likely not a permutation because the byte patterns don't match (some of the btte values of stress-1.bc are not present in stress-2.bc). Thanks for your help :) Sébastien Michelland On 5/24/19 5:32 PM, Eli Friedman wrote: > Are you passing -preserve-ll-uselistorder when you create the .ll files? It's off by default because the output tends to be sort of unreadable, but it could explain some of the differences you're seeing. > > -Eli > >> -----Original Message----- >> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On...
2017 Sep 14
2
IVUsers pass is fragile. Is this okay? How can it be resolved?
...Finkel <hfinkel at anl.gov<mailto:hfinkel at anl.gov>> wrote: On 09/13/2017 01:01 PM, Daniel Neilson via llvm-dev wrote: … snip For example, the following IR will produce different sets of IV users if either: i) The order of the PHI nodes in the %loop block are reordered; or ii) The uselistorder directive is uncommented --- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1" target triple = "x86_64-unknown-linux-gnu" define void @test(i64 %v1, i32 %v2, i64* %addr) { entry: br label %loop loop: %iv = phi i64 [%v1, %entry], [%iv.inc, %loop] %iv2 = phi i...
2018 May 14
0
Removing LLVM testing tools from the install distribution
...ould have saved over a hundred megabytes in uncompressed space > for macOS users: > > Binary name | Size in megabytes > -------------------------------------------- > clang-check: 54.6725 > llvm-c-test: 33.8384 > clang-import-test: 20.6708 > c-index-test: 19.8632 > verify-uselistorder: 2.84348 > > vedant > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http...
2018 May 15
0
Removing LLVM testing tools from the install distribution
...ould have saved over a hundred megabytes in uncompressed space > for macOS users: > > Binary name | Size in megabytes > -------------------------------------------- > clang-check: 54.6725 > llvm-c-test: 33.8384 > clang-import-test: 20.6708 > c-index-test: 19.8632 > verify-uselistorder: 2.84348 > > vedant > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http...
2018 Apr 27
3
Size of produced binaries when compiling llvm & clang sources
...ample00 438M pp-trace 434M diagtool 184M llvm-cfi-verify 170M llvm-objdump 168M sancov 158M llvm-rtdyld 149M llvm-ar 148M llvm-nm 145M llvm-extract 145M llvm-link 142M llvm-dwarfdump 141M llvm-split 131M llvm-mc 127M llvm-pdbutil 126M clang-offload-bundler 122M llvm-mca 121M verify-uselistorder 121M llvm-cat 120M llvm-as 117M llvm-special-case-list-fuzzer 117M llvm-demangle-fuzzer 116M llvm-modextract 114M obj2yaml 112M llvm-xray 105M sanstats 105M llvm-symbolizer 96M llvm-readobj 93M llvm-cov 90M lli-child-target 86M llvm-cxxdump 85M llvm-objcopy 83M llvm-cvtres 82...
2015 Aug 31
2
RFC: LTO should use -disable-llvm-verifier
...we should still run it > at (1). But I don't think we need to run it at (2) and (3). Maybe we > agree on this? > > I agree. The last two in debug mode perhaps? -eric > Someone asked elsewhere in the thread about numbers: I had a look at a > CPU profile (for linking verify-uselistorder with debug info). For > this (not-necessarily-representative) sample, (1) takes 1.6% of ld64 > runtime, and (2) and (3) combined take 3.2% of ld64 runtime. Total of > 4.8%. > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm....
2017 Sep 15
2
IVUsers pass is fragile. Is this okay? How can it be resolved?
...Finkel <hfinkel at anl.gov<mailto:hfinkel at anl.gov>> wrote: On 09/13/2017 01:01 PM, Daniel Neilson via llvm-dev wrote: … snip For example, the following IR will produce different sets of IV users if either: i) The order of the PHI nodes in the %loop block are reordered; or ii) The uselistorder directive is uncommented --- target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1" target triple = "x86_64-unknown-linux-gnu" define void @test(i64 %v1, i32 %v2, i64* %addr) { entry: br label %loop loop: %iv = phi i64 [%v1, %entry], [%iv.inc, %loop] %iv2 = phi i...
2017 Sep 16
0
IVUsers pass is fragile. Is this okay? How can it be resolved?
...-dev wrote: >>> >>> … snip >>> >>>>> For example, the following IR will produce different sets of IV >>>>> users if either: >>>>> i) The order of the PHI nodes in the %loop block are reordered; or >>>>> ii) The uselistorder directive is uncommented >>>>> >>>>> --- >>>>> target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1" >>>>> target triple = "x86_64-unknown-linux-gnu" >>>>> >>>>> define void @tes...
2018 Apr 27
0
Size of produced binaries when compiling llvm & clang sources
...llvm-objdump > 168M sancov > 158M llvm-rtdyld > 149M llvm-ar > 148M llvm-nm > 145M llvm-extract > 145M llvm-link > 142M llvm-dwarfdump > 141M llvm-split > 131M llvm-mc > 127M llvm-pdbutil > 126M clang-offload-bundler > 122M llvm-mca > 121M verify-uselistorder > 121M llvm-cat > 120M llvm-as > 117M llvm-special-case-list-fuzzer > 117M llvm-demangle-fuzzer > 116M llvm-modextract > 114M obj2yaml > 112M llvm-xray > 105M sanstats > 105M llvm-symbolizer > 96M llvm-readobj > 93M llvm-cov > 90M lli-child-target...