bogner (Justin Bogner)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 12 2014, 3:00 PM (201 w, 15 h)

Recent Activity

Yesterday

bogner added a comment to D42159: [GlobalISel] Making MachineCSE runnable in the middle of the GlobalISel.

Roman asked me to commit this for him off-thread. It's r322805.

Wed, Jan 17, 6:12 PM
bogner committed rL322805: GlobalISel: Make MachineCSE runnable in the middle of the GlobalISel.
GlobalISel: Make MachineCSE runnable in the middle of the GlobalISel
Wed, Jan 17, 6:08 PM
bogner accepted D42159: [GlobalISel] Making MachineCSE runnable in the middle of the GlobalISel.

LGTM

Wed, Jan 17, 5:45 PM
bogner added inline comments to D42159: [GlobalISel] Making MachineCSE runnable in the middle of the GlobalISel.
Wed, Jan 17, 3:47 PM
bogner added inline comments to D42159: [GlobalISel] Making MachineCSE runnable in the middle of the GlobalISel.
Wed, Jan 17, 9:44 AM

Wed, Jan 10

bogner added a comment to D41876: Add a utility to reduce GlobalISel tests.

Could this be extended to reduce any isel related bug?

Yes, it can be extended to reduce the other ISel problems by adding a regex and the specific arguments for llc.

Wed, Jan 10, 12:47 PM

Tue, Jan 9

bogner accepted D41107: [FuzzMutate] Avoid using swifterror as a source operand.

I don't really like how specific of a special case this is, but I guess that's more of a problem with swifterror itself than with this pass. LGTM.

Tue, Jan 9, 4:33 PM
bogner added inline comments to D41638: [llvm-extract] Support extracting basic blocks.
Tue, Jan 9, 4:31 PM
bogner added inline comments to D41373: [GISel][RFC]: GlobalISel Combiner prototype.
Tue, Jan 9, 2:31 PM

Mon, Jan 8

bogner committed rL322033: AlwaysInliner: Alow setting InsertLifetime in the new-style pass.
AlwaysInliner: Alow setting InsertLifetime in the new-style pass
Mon, Jan 8, 2:09 PM
bogner committed rL322025: ArgPromotion: Allow setting MaxElements in the new-style pass.
ArgPromotion: Allow setting MaxElements in the new-style pass
Mon, Jan 8, 1:14 PM

Dec 18 2017

bogner committed rL321048: update_mir_test_checks: Accept IR as input as well as MIR.
update_mir_test_checks: Accept IR as input as well as MIR
Dec 18 2017, 4:50 PM
bogner committed rL321039: update_mir_test_checks: Add "mir" to some states and regex names.
update_mir_test_checks: Add "mir" to some states and regex names
Dec 18 2017, 3:32 PM
bogner accepted D41009: [FuzzMutate] Don't crash when mutator is unable to find operation.

I'm a little worried that this makes us more likely to get into the "unable to make forward progress" case of the fuzzer loop, which could waste time and make it harder to tell that we're hitting something we can't handle. That said, it does re-try for these cases, so I suppose it's good to make as much progress as we can until we do get stuck.

Dec 18 2017, 1:08 PM

Dec 13 2017

bogner accepted D40391: [Verifier] Check that GEP indexes has correct types.

Sorry, I didn't see this one (I think llvm-commits was missing on the initial patch creation and it didn't make it to the list).

Dec 13 2017, 10:17 AM

Dec 12 2017

bogner accepted D41112: [FuzzMutate] Correctly split landingpad blocks.
Dec 12 2017, 3:25 PM
bogner accepted D41110: [FuzzMutate] Avoid zero sized aggregates.
Dec 12 2017, 3:23 PM
bogner accepted D41109: [FuzzMutate] Only generate loads and stores to the first class sized types.
Dec 12 2017, 3:22 PM

Dec 11 2017

bogner committed rL320413: [cmake] Pass TARGETS_TO_BUILD through to host tools build.
[cmake] Pass TARGETS_TO_BUILD through to host tools build
Dec 11 2017, 11:54 AM

Dec 7 2017

bogner added inline comments to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.
Dec 7 2017, 9:46 AM
bogner accepted D40840: [FuzzMutate] Correctly insert sinks and sources around invoke instructions.
Dec 7 2017, 9:44 AM

Dec 6 2017

bogner added inline comments to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.
Dec 6 2017, 10:23 PM
bogner accepted D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.

At this point this is strictly better. Let's make this change and figure out where to go from here in tree.

Dec 6 2017, 10:21 PM
bogner added a comment to D40229: [cmake] Remove redundant call to cmake when building host tools..

I'm getting a similar problem where passing in CMAKE_CXX_COMPILER breaks my native build, except it's harder to work around because I don't specify CROSS_TOOLCHAIN_FLAGS. I'm building for a device, and specify a C++ compiler for that build, but that compiler isn't the correct one for building my native tools. When no compiler was specified on the cross-compile-native cmake invocation, this worked, but now this ends up using the wrong compiler and failing.

Dec 6 2017, 3:52 PM
bogner added a comment to D40229: [cmake] Remove redundant call to cmake when building host tools..

I think this breaks any non-trivial cross-compilation scenario.

When compiling for android, we compile the android binaries with the compiler in the android ndk (so CMAKE_C**_COMPILER points to the android ndk). However, this compiler is not capable of compiling any host binaries. So the way we make this work is by setting the host compilers via -DCROSS_TOOLCHAIN_FLAGS_NATIVE. This worked because command line has precedence over the compiler specified by the environment variables. However, this now appends -DCMAKE_C**_COMPILER, which will override whatever compiler we have specified via cross toolchain flags.

I am not sure we ever want to be specifying the native compiler, as this is likely to be different in any non-trivial cross-compilation scenario, but if we're going to do that, could we at least put CROSS_TOOLCHAIN_FLAGS last so that this can be overridden by the user who needs it?

Dec 6 2017, 3:36 PM
bogner accepted D40837: [FuzzMutate] Allow only sized pointers for the GEP instruction.
Dec 6 2017, 11:29 AM

Dec 5 2017

bogner added a comment to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.

I was planning on using llvm-config, e.g.:

local:/Users/dhinton/projects/llvm_project/build/Debug $ bin/llvm-config --cxxflags
-I/Users/dhinton/projects/llvm_project/llvm/include -I/Users/dhinton/projects/llvm_project/build/Debug/include  -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -O3  -DLLVM_ENABLE_DUMP  -fno-exceptions -fno-rtti -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Dec 5 2017, 4:04 PM
bogner added a comment to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.

I'm also confused about how this works before this change, if multi-config generators only create one set of headers. Currently, we're already defining LLVM_ENABLE_DUMP in config.h, so how does MSVC handle the fact that this already has different values for different configs?

Dec 5 2017, 3:36 PM
bogner added a comment to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.

My solution would support buildbots, developer builds, and installed versions via llvm-config.

Dec 5 2017, 3:32 PM
bogner added inline comments to D40840: [FuzzMutate] Correctly insert sinks and sources around invoke instructions.
Dec 5 2017, 3:24 PM
bogner added inline comments to D40837: [FuzzMutate] Allow only sized pointers for the GEP instruction.
Dec 5 2017, 3:22 PM
bogner added a comment to D38406: [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h.

I don't really think we want to be messing with the CMAKE_CXX_FLAGS_{BUILD_TYPE} variables for this. All of this regex-replace stuff is very complicated and seems fragile.

Dec 5 2017, 3:05 PM

Nov 30 2017

bogner accepted D40348: [PowerPC] Follow-up to r318436 to get the missed CSE opportunities.

This change is really three different changes. In general it's easier to review changes that only do one thing. The DAGCombiner change here looks correct, and I took a cursory glance at the PPC changes and didn't see anything wrong.

Nov 30 2017, 1:35 PM

Nov 28 2017

bogner added a comment to D39404: DAG: Add nuw when splitting loads and stores.

Oh, please update the commit message to remove the bit about "we should add a helper" when you commit. You already did :)

Nov 28 2017, 3:57 PM
bogner accepted D39404: DAG: Add nuw when splitting loads and stores.

Looks like you've addressed Hal's feedback, and this looks reasonable to me.

Nov 28 2017, 3:56 PM

Nov 27 2017

bogner accepted D40165: DAG: Legalize truncstores to illegal int types.

Looks good once the bug/redundancy is fixed.

Nov 27 2017, 5:39 PM
bogner accepted D40397: [FuzzMutate] Correctly handle vector types in the insertvalue operation.

LGTM

Nov 27 2017, 4:46 PM
bogner accepted D40396: [FuzzMutate] Don't use index operands as sinks.

Agreed, we should be able to make this less conservative at some point. This is good for now.

Nov 27 2017, 4:44 PM
bogner accepted D40395: [FuzzMutate] Pick correct index for the insertvalue instruction.

LGTM

Nov 27 2017, 4:42 PM
bogner accepted D40394: [FuzzMutate] Don't create load as a new source if it doesn't match with the descriptor.

This is a little more expensive, but it seems like a necessary evil. LGTM.

Nov 27 2017, 4:41 PM
bogner accepted D40393: [FuzzMutate] Don't crash when we can't remove instruction from empty function.

Looks good. I have a couple of comments about things we should think about, but I don't think they need to block us.

Nov 27 2017, 4:39 PM

Nov 17 2017

bogner committed rL318543: MIRParser: Avoid reading uninitialized memory on generic vregs.
MIRParser: Avoid reading uninitialized memory on generic vregs
Nov 17 2017, 10:51 AM

Nov 16 2017

bogner committed rL318449: llvm-objdump: Add missing requires for the test in r313921.
llvm-objdump: Add missing requires for the test in r313921
Nov 16 2017, 12:21 PM

Nov 9 2017

bogner accepted D39555: Introduce llvm-opt-fuzzer for fuzzing optimization passes.

LGTM. We can iterate on this further in tree.

Nov 9 2017, 12:13 PM
bogner added inline comments to D39555: Introduce llvm-opt-fuzzer for fuzzing optimization passes.
Nov 9 2017, 10:20 AM

Nov 8 2017

bogner added inline comments to D39555: Introduce llvm-opt-fuzzer for fuzzing optimization passes.
Nov 8 2017, 10:43 AM

Nov 7 2017

bogner added a comment to D39555: Introduce llvm-opt-fuzzer for fuzzing optimization passes.

Please add a note about this fuzzer in docs/FuzzingLLVM.rst

Nov 7 2017, 3:53 PM
bogner added a comment to D39555: Introduce llvm-opt-fuzzer for fuzzing optimization passes.

Repeating my comments from email, as it looks like they got missed.

Nov 7 2017, 3:50 PM

Nov 6 2017

bogner committed rL317509: update_mir_test_checks: Be careful about replacing entire vregs.
update_mir_test_checks: Be careful about replacing entire vregs
Nov 6 2017, 1:06 PM

Oct 24 2017

bogner committed rL316479: MIR: Print the register class or bank in vreg defs.
MIR: Print the register class or bank in vreg defs
Oct 24 2017, 11:06 AM

Oct 18 2017

bogner committed rL316139: GISel: Canonicalize select tests using update_mir_test_checks.
GISel: Canonicalize select tests using update_mir_test_checks
Oct 18 2017, 4:34 PM
bogner committed rL316138: AArch64/GISel: Modernize the localizer test.
AArch64/GISel: Modernize the localizer test
Oct 18 2017, 4:27 PM
bogner committed rL316137: Canonicalize a large number of mir tests using update_mir_test_checks.
Canonicalize a large number of mir tests using update_mir_test_checks
Oct 18 2017, 4:18 PM
bogner committed rL316134: update_mir_test_checks: Support adding checks for vreg classes.
update_mir_test_checks: Support adding checks for vreg classes
Oct 18 2017, 3:40 PM
bogner committed rL316133: update_mir_test_checks: Improve message when updating fails.
update_mir_test_checks: Improve message when updating fails
Oct 18 2017, 3:37 PM
bogner committed rL316089: update_mir_test_checks: Handle empty liveins.
update_mir_test_checks: Handle empty liveins
Oct 18 2017, 8:39 AM
bogner committed rL316088: update_mir_test_checks: Do a better job of disambiguating names.
update_mir_test_checks: Do a better job of disambiguating names
Oct 18 2017, 8:37 AM
bogner committed rL316087: AArch64/GISel: Fix a couple of tests that were testing the wrong thing.
AArch64/GISel: Fix a couple of tests that were testing the wrong thing
Oct 18 2017, 8:34 AM

Oct 17 2017

bogner committed rL316063: update_mir_test_checks: Support '-' in function names.
update_mir_test_checks: Support '-' in function names
Oct 17 2017, 10:53 PM
bogner committed rL316062: update_mir_test_checks: Fix a typo I made while preparing for commit.
update_mir_test_checks: Fix a typo I made while preparing for commit
Oct 17 2017, 10:39 PM
bogner committed rL316057: Add a utility to update MIR checks, similar to update_llc_test_checks.
Add a utility to update MIR checks, similar to update_llc_test_checks
Oct 17 2017, 7:20 PM

Oct 16 2017

bogner committed rL315965: FuzzMutate: Fix arch parsing in FuzzerCLI.
FuzzMutate: Fix arch parsing in FuzzerCLI
Oct 16 2017, 7:39 PM

Oct 12 2017

bogner committed rL315676: docs: Improve wording on building for fuzzing.
docs: Improve wording on building for fuzzing
Oct 12 2017, 11:29 PM
bogner accepted D38874: DAG: Add flags to dumps.

LGTM

Oct 12 2017, 11:24 PM
bogner committed rL315651: docs: Improve the docs about llvm-isel-fuzzer on OSS Fuzz.
docs: Improve the docs about llvm-isel-fuzzer on OSS Fuzz
Oct 12 2017, 5:27 PM
bogner committed rL315646: llvm-isel-fuzzer: Use the right REQUIRES line for r315599.
llvm-isel-fuzzer: Use the right REQUIRES line for r315599
Oct 12 2017, 5:18 PM
bogner accepted D38855: Add a fuzz target for llvm's ItaniumDemangler..

LGTM

Oct 12 2017, 5:00 PM
bogner accepted D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..

LGTM

Oct 12 2017, 2:55 PM
bogner added inline comments to D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Oct 12 2017, 1:12 PM
bogner added inline comments to D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Oct 12 2017, 12:56 PM
bogner added a comment to D38855: Add a fuzz target for llvm's ItaniumDemangler..

Also, please add a description of this fuzzer to docs/FuzzingLLVM.rst

Oct 12 2017, 11:19 AM
bogner added a comment to D38855: Add a fuzz target for llvm's ItaniumDemangler..

This is pretty straightforward, but if you'd like to add a test for it you can do so by implementing a main function that doesn't link to libfuzzer. It would probably just be something like this:

Oct 12 2017, 11:18 AM
bogner committed rL315599: llvm-isel-fuzzer: Work around BUILD_SHARED_LIBS testing issues.
llvm-isel-fuzzer: Work around BUILD_SHARED_LIBS testing issues
Oct 12 2017, 11:10 AM

Oct 11 2017

bogner added a comment to D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.

Note: This had issues on windows, so I changed it to use '=' instead of ':' and recommitted in 315557

Oct 11 2017, 9:49 PM
bogner committed rL315557: Re-commit "llvm-isel-fuzzer: Handle a subset of backend flags in the exec name".
Re-commit "llvm-isel-fuzzer: Handle a subset of backend flags in the exec name"
Oct 11 2017, 9:35 PM
bogner closed D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.
Oct 11 2017, 7:29 PM
bogner accepted D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.

Committed with the requested changes in r315545

Oct 11 2017, 7:29 PM
bogner committed rL315550: docs: Add some links to OSS Fuzz.
docs: Add some links to OSS Fuzz
Oct 11 2017, 7:28 PM
bogner committed rL315546: docs: Try to fix sphinx build.
docs: Try to fix sphinx build
Oct 11 2017, 7:04 PM
bogner committed rL315545: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.
llvm-isel-fuzzer: Handle a subset of backend flags in the executable name
Oct 11 2017, 6:58 PM
bogner committed rL315544: docs: Add some information about Fuzzing LLVM itself.
docs: Add some information about Fuzzing LLVM itself
Oct 11 2017, 6:44 PM

Oct 10 2017

bogner added a comment to D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.
In D37495#893677, @kcc wrote:

I'd like to add this target to oss-fuzz before the llvm dev meeting (sooooon!)

Oct 10 2017, 5:33 PM
bogner committed rL315390: CodeGen: Minor cleanups to use MachineInstr::getMF. NFC.
CodeGen: Minor cleanups to use MachineInstr::getMF. NFC
Oct 10 2017, 4:51 PM
bogner committed rL315388: CodeGen: Add MachineInstr::getMF(). NFC.
CodeGen: Add MachineInstr::getMF(). NFC
Oct 10 2017, 4:34 PM

Sep 5 2017

bogner added a comment to D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.
In D37495#861652, @kcc wrote:

this handrolls a subset of cl::opts to recognize

This sounds good.

But there should be some way to find out which "handrolled subsets" are available.

Sep 5 2017, 5:18 PM
bogner created D37495: llvm-isel-fuzzer: Handle a subset of backend flags in the executable name.
Sep 5 2017, 4:06 PM

Sep 2 2017

bogner committed rL312427: llvm-isel-fuzzer: Add some basic tests.
llvm-isel-fuzzer: Add some basic tests
Sep 2 2017, 5:39 PM
bogner committed rL312425: Move some CLI utils out of llvm-isel-fuzzer and into the library.
Move some CLI utils out of llvm-isel-fuzzer and into the library
Sep 2 2017, 4:44 PM

Sep 1 2017

bogner committed rL312354: llvm-isel-fuzzer: Weak function invoke the ire of PE/COFF.
llvm-isel-fuzzer: Weak function invoke the ire of PE/COFF
Sep 1 2017, 12:39 PM
bogner committed rL312345: llvm-isel-fuzzer: Add link-time dependency on BitWriter.
llvm-isel-fuzzer: Add link-time dependency on BitWriter
Sep 1 2017, 10:51 AM
bogner committed rL312343: llvm-isel-fuzzer: Add link-time dependency on BitReader.
llvm-isel-fuzzer: Add link-time dependency on BitReader
Sep 1 2017, 10:37 AM
bogner committed rL312341: Specify the namespace in llvm::make_unique to fix the windows build.
Specify the namespace in llvm::make_unique to fix the windows build
Sep 1 2017, 10:27 AM
bogner committed rL312338: llvm-isel-fuzzer: Make buildable and testable without libFuzzer.
llvm-isel-fuzzer: Make buildable and testable without libFuzzer
Sep 1 2017, 10:03 AM

Aug 30 2017

bogner committed rL312200: cmake: Invent add_llvm_fuzzer to set up fuzzer targets.
cmake: Invent add_llvm_fuzzer to set up fuzzer targets
Aug 30 2017, 5:38 PM
bogner committed rL312195: llvm-isel-fuzzer: Stop including FuzzerInterface.h.
llvm-isel-fuzzer: Stop including FuzzerInterface.h
Aug 30 2017, 5:02 PM

Aug 29 2017

bogner committed rL312011: Fix build of llvm-mc-assemble/disassemble-fuzzer.
Fix build of llvm-mc-assemble/disassemble-fuzzer
Aug 29 2017, 10:10 AM

Aug 28 2017

bogner closed D36275: Implement llvm-isel-fuzzer for fuzzing instruction selection.

r311964

Aug 28 2017, 5:24 PM
bogner accepted D36275: Implement llvm-isel-fuzzer for fuzzing instruction selection.
Aug 28 2017, 5:24 PM
bogner committed rL311964: Implement llvm-isel-fuzzer for fuzzing instruction selection.
Implement llvm-isel-fuzzer for fuzzing instruction selection
Aug 28 2017, 5:23 PM
bogner committed rL311959: [sanitizer-coverage] Mark the guard and 8-bit counter arrays as used.
[sanitizer-coverage] Mark the guard and 8-bit counter arrays as used
Aug 28 2017, 5:12 PM