History log of /llvm-project/llvm/tools/llvm-reduce/llvm-reduce.cpp (Results 1 – 25 of 48)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5
# 8128d4b1 22-Apr-2024 Stephen Tozer <stephen.tozer@sony.com>

[RemoveDIs] Preserve debug info format in llvm-reduce (#89220)

As the goal of LLVM reduce is to simplify the input file, it should not
modify the debug info format - doing so by default would make

[RemoveDIs] Preserve debug info format in llvm-reduce (#89220)

As the goal of LLVM reduce is to simplify the input file, it should not
modify the debug info format - doing so by default would make it
impossible to reduce an error that only occurs in the old format, for
example (as briefly discussed at
https://github.com/llvm/llvm-project/pull/86275). This patch uses the
new "preserve debug info format" flag in llvm-reduce to prevent the
input from being subtly transformed by llvm-reduce itself; this has no
effect on any tools used for the interestingness check (i.e. if `opt` is
invoked, it will still convert the reduced input to the new format by
default), but simply ensures that the reduced file is strictly reduced
rather than modified.

show more ...


Revision tags: llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3
# 92eaf036 08-Feb-2024 Jeremy Morse <jeremy.morse@sony.com>

[NFC][RemoveDIs] Remove conditional compilation for RemoveDIs (#81149)

A colleague observes that switching the default value of
LLVM_EXPERIMENTAL_DEBUGINFO_ITERATORS to "On" hasn't flipped the valu

[NFC][RemoveDIs] Remove conditional compilation for RemoveDIs (#81149)

A colleague observes that switching the default value of
LLVM_EXPERIMENTAL_DEBUGINFO_ITERATORS to "On" hasn't flipped the value
in their CMakeCache.txt. This probably means that everyone with an
existing build tree is going to not have support built in, meaning
everyone in LLVM would need to clean+rebuild their worktree when we flip
the switch on... which doesn't sound good.

So instead, just delete the flag and everything it does, making everyone
build and run ~400 lit tests in RemoveDIs mode. None of the buildbots
have had trouble with this, so it Should Be Fine (TM).

(Sending for review as this is changing various comments, and touches
several different areas -- I don't want to get too punchy).

show more ...


Revision tags: llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# 40bdfd39 23-Jan-2024 Jeremy Morse <jeremy.morse@sony.com>

[llvm-reduce][DebugInfo] Support reducing non-instruction debug-info (#78995)

LLVM will shortly be able to represent variable locations without
encoding information into intrinsics -- they'll be st

[llvm-reduce][DebugInfo] Support reducing non-instruction debug-info (#78995)

LLVM will shortly be able to represent variable locations without
encoding information into intrinsics -- they'll be stored as DPValue
objects instead. We'll still need to be able to llvm-reduce these
variable location assignments just like we can with intrinsics today,
thus, here's an llvm-reduce pass that enumerates and reduces the DPValue
objects.

The test for this is paradoxically written with dbg.value intrinsics:
this is because we're changing all the core parts of LLVM to support
this first, with the textual IR format coming last. Until that arrives,
testing the llvm-reduce'ing of DPValues needs the added test using
intrinsics. We should be able to drop the variable assignment using
%alsoloaded using this method. As with the other llvm-reduce tests, I've
got one set of check lines for making the reduction happen as desired,
and the other set to check the final output.

show more ...


# 586ecdf2 12-Dec-2023 Kazu Hirata <kazu@google.com>

[llvm] Use StringRef::{starts,ends}_with (NFC) (#74956)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::

[llvm] Use StringRef::{starts,ends}_with (NFC) (#74956)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.

show more ...


# 92c2529c 04-Dec-2023 Kazu Hirata <kazu@google.com>

[llvm] Stop including vector (NFC)

Identified with clangd.


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init
# 592536a9 17-Jan-2023 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Reorganize some function locations

Move things that are naturally methods of ReducerWorkItem to
be methods of ReducerWorkItem in the same source file.


# 333ffafb 14-Jan-2023 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Trim includes and avoid using namespace in a header


# c841086c 14-Jan-2023 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Add missing consts


Revision tags: llvmorg-15.0.7
# 1ad45278 11-Jan-2023 Matt Arsenault <Matthew.Arsenault@amd.com>

Revert "llvm-reduce: Try to kill parallel workitems once we have a result."

This reverts commit 4f575620d51032cf98424c9defafe4dfc8d66f45.

I realized the test wasn't very good and when fixed, shows

Revert "llvm-reduce: Try to kill parallel workitems once we have a result."

This reverts commit 4f575620d51032cf98424c9defafe4dfc8d66f45.

I realized the test wasn't very good and when fixed, shows the
reduction doesn't work correctly. Revert the change and keep the fixed
version of the test.

show more ...


# 4f575620 29-Nov-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Try to kill parallel workitems once we have a result.

The current reduction logic tries to reproduce what a serial reduction
would produce, and just takes the first one that is still
in

llvm-reduce: Try to kill parallel workitems once we have a result.

The current reduction logic tries to reproduce what a serial reduction
would produce, and just takes the first one that is still
interesting. We still have to wait for all others to complete though,
which at that point is just a waste.

This helps speed things up with long running reducers, which I
frequently have. e.g. for the added sleep test on my system, it took
about 8 seconds before this change and about 4 after.

https://reviews.llvm.org/D138953

show more ...


# 0008afc6 03-Jan-2023 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Remove leftover comment


# 9c8b89f5 09-Dec-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Refine missing argument behavior

We required the test and input arguments for --print-delta-passes
which is unhelpful. Also, start printing the help output if no
arguments were supplied

llvm-reduce: Refine missing argument behavior

We required the test and input arguments for --print-delta-passes
which is unhelpful. Also, start printing the help output if no
arguments were supplied.

It looks like there's more sophisticated ways to accomplish this with
the opt library, but it was less work to manually emit these errors.

show more ...


# 95abdeba 20-Dec-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Disable crash reports, symbolization and core dumps

These are going to waste a lot of time and produce clutter when we're
bulk introducing crashes. Add a flag to disable this behavior i

llvm-reduce: Disable crash reports, symbolization and core dumps

These are going to waste a lot of time and produce clutter when we're
bulk introducing crashes. Add a flag to disable this behavior in case
this matters to a reproducer.

show more ...


# d939eeb9 29-Nov-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Add some missing consts


Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4
# 412c4a8b 29-Oct-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Write bitcode temporary files for bitcode inputs

Most tools accept .ll or .bc inputs interchangably, but some don't.
Default to writing temporary files that match the input. This
will a

llvm-reduce: Write bitcode temporary files for bitcode inputs

Most tools accept .ll or .bc inputs interchangably, but some don't.
Default to writing temporary files that match the input. This
will also aid reducing deserialization bugs.

show more ...


# 4e21bc0c 29-Oct-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Drop guessing output format based on file extension


# 3c436ab0 26-Oct-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Support emitting bitcode for final result

Previously, this unconditionally emitted text IR. I ran
into a bug that manifested in broken disassembly, so the
desired output was the bitcode

llvm-reduce: Support emitting bitcode for final result

Previously, this unconditionally emitted text IR. I ran
into a bug that manifested in broken disassembly, so the
desired output was the bitcode format. If the input format
was binary bitcode, the requested output file ends in .bc,
or an explicit -output-bitcode option was used, emit bitcode.

show more ...


# f041204e 24-Oct-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Stop checking workitem is interesting before each pass

Each delta pass run should have guaranteed the output is still
interesting, so it should be pointless to recheck this each
iterati

llvm-reduce: Stop checking workitem is interesting before each pass

Each delta pass run should have guaranteed the output is still
interesting, so it should be pointless to recheck this each
iteration. I have many issues that take multiple minutes
to reproduce, so this ends up being a huge waste of time.

Also, remove broken line counting. This never worked, since
getLines was failing to open the temporary file which was just
deleted.

show more ...


Revision tags: llvmorg-15.0.3
# 2592ccde 18-Oct-2022 Arthur Eubanks <aeubanks@google.com>

[llvm-reduce] Unify pass logging

We randomly use outs() or errs(), which makes test logs confusing.
We also randomly add/don't add a line afterward.

Reviewed By: arsenm

Differential Revision: http

[llvm-reduce] Unify pass logging

We randomly use outs() or errs(), which makes test logs confusing.
We also randomly add/don't add a line afterward.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D136130

show more ...


Revision tags: working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3
# 853b57fe 15-Aug-2022 Arthur Eubanks <aeubanks@google.com>

[NFC][llvm-reduce] Use new pass manager for printing ThinLTO bitcode


Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init
# 6b3956e1 30-Jun-2022 Matthew Voss <matthew.voss@sony.com>

[llvm-reduce] Add support for LTO bitcode files

Adds support for reading and writing LTO bitcode files.

- Emit a summary if the original bitcode file had a summary
- Use split LTO units if the

[llvm-reduce] Add support for LTO bitcode files

Adds support for reading and writing LTO bitcode files.

- Emit a summary if the original bitcode file had a summary
- Use split LTO units if the original bitcode file used them.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D127168

show more ...


Revision tags: llvmorg-14.0.6
# 87710235 21-Jun-2022 John Regehr <regehr@cs.utah.edu>

in the absense of the -max-pass-iterations command line options, make
llvm-reduce run its full pass sequence up to 5 times, instead of just
once

Differential Revision: https://reviews.llvm.org/D1282

in the absense of the -max-pass-iterations command line options, make
llvm-reduce run its full pass sequence up to 5 times, instead of just
once

Differential Revision: https://reviews.llvm.org/D128284

show more ...


Revision tags: llvmorg-14.0.5
# d0d1c416 05-Jun-2022 Fangrui Song <i@maskray.me>

Remove unneeded cl::ZeroOrMore for cl::list options


# 42c7f494 03-Jun-2022 Clemens Wasser <clemens.wasser@gmail.com>

[tools] Forward declare classes & remove includes

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D120208


Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2
# 7c2db666 19-Apr-2022 Matt Arsenault <Matthew.Arsenault@amd.com>

llvm-reduce: Support multiple MachineFunctions

The current testcase I'm trying to reduce only reproduces with IPRA
enabled and requires handling multiple functions.

The only real difference vs. the

llvm-reduce: Support multiple MachineFunctions

The current testcase I'm trying to reduce only reproduces with IPRA
enabled and requires handling multiple functions.

The only real difference vs. the IR is the extra indirect to look for
the underlying MachineFunction, so treat the ReduceWorkItem as the
module instead of the function.

The ugliest piece of this is really the ugliness of
MachineModuleInfo. It not only tracks actual module state, but has a
number of transient fields used for isel and/or the asm printer. These
shouldn't do any harm for the use here, though they should be
separated out.

show more ...


12