bjope (Bjorn Pettersson)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 26 2016, 7:58 AM (107 w, 4 d)

Recent Activity

Today

bjope added a comment to D52927: [CodeGen] Fix for PR39094..

I am sorry that I misunderstood the meaning of the status. I thought that if the status is ‘ACCEPTED’, I could upstream the commit.

Fri, Oct 19, 3:32 AM

Yesterday

bjope added a comment to D52927: [CodeGen] Fix for PR39094..

Still no test case :-(

Thu, Oct 18, 11:38 PM

Wed, Oct 17

bjope added a comment to D53340: [Intrinsic] Unigned Saturation Addition Intrinsic.

Is this intrinsic really needed for the fixed point support?

Maybe I've missed something in the discussions about support for unsigned fixed point types, but in our implementation the unsigned types are using the positive range of the signed type, such as [0, SIGNED_MAX]. So we keep the sign bit zero for the unsigned fixed point types. Are you planning for something different here?

In our implementation we lower addition of two saturated unsigned fixed point types to sadd.sat (if the input values are in the range [0, SIGNED_MAX] the result will be in the range [0, SIGNED_MAX] as well). So we haven't really found a need for implementing uadd.sat.

By default we have unsigned fixed point types in clang to use the entire length of the int, so it ranges from [0, UNSIGNED_MAX]. In this case I think it would be useful to have an unsigned version as well. This could also be used for regular unsigned integers that do not have a padding bit, and I believe @craig.topper was interested in this so they could be replaced with target specific calls to x86 intrinsics like PADDUSB and PADDUSW.

Wed, Oct 17, 9:41 AM
bjope added inline comments to D53340: [Intrinsic] Unigned Saturation Addition Intrinsic.
Wed, Oct 17, 1:56 AM
bjope added a comment to D53340: [Intrinsic] Unigned Saturation Addition Intrinsic.

Is this intrinsic really needed for the fixed point support?

Wed, Oct 17, 12:01 AM

Mon, Oct 15

bjope added a comment to D52109: [TwoAddressInstructionPass] Don't update SrcRegMap for copies inserted for tied register constraint when the src isn't killed.

Have you considered making a .mir-test that show the effect of TwoAddressInstruction pass here. Maybe an overkill since there already are plenty of test cases that are affected by the change, but it would make it easier to understand the tranformation difference that we introduce in the TwoAddressInstructionPass.

Mon, Oct 15, 11:50 PM
bjope accepted D53299: [Fixed Point Arithmetic] Fix for clang-tools-extra warning.

Just some inline nit:s about whitespace.

Mon, Oct 15, 12:40 PM · Restricted Project
bjope added a comment to rL344530: [Fixed Point Arithmetic] FixedPointCast.

I found those earlier when working on the monorepo. In fixing them now.

Mon, Oct 15, 12:12 PM
bjope added a comment to rL344530: [Fixed Point Arithmetic] FixedPointCast.

I think this will give problems when building with clang-tools-extra, and having -Werror.
Such as:
../tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp:22:11: error: enumeration value 'STK_FixedPoint' not handled in switch [-Werror,-Wswitch]

Mon, Oct 15, 11:33 AM
bjope committed rL344492: [TwoAddressInstructionPass] Replace subregister uses when processing tied….
[TwoAddressInstructionPass] Replace subregister uses when processing tied…
Mon, Oct 15, 1:38 AM
bjope closed D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.
Mon, Oct 15, 1:38 AM

Sun, Oct 14

bjope added a comment to D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

ping!

Sun, Oct 14, 11:57 PM

Fri, Oct 12

bjope added inline comments to D53162: [DataLayout] Add bit width of pointers to global values.
Fri, Oct 12, 2:42 AM
bjope added inline comments to D53053: [Intrinsic] Signed Saturation Addition Intrinsic.
Fri, Oct 12, 1:11 AM
bjope added inline comments to D53053: [Intrinsic] Signed Saturation Addition Intrinsic.
Fri, Oct 12, 12:36 AM

Tue, Oct 9

bjope updated subscribers of D52286: [Intrinsic] Signed Saturation Intrinsic.

If the use of a special intrinsic for saturation is rare (few targets that supports it natively), then perhaps we should put this particular patch on hold for now?

Tue, Oct 9, 12:16 AM

Wed, Oct 3

bjope added a comment to D52447: [Tablegen/RFC] Introduce Mask to limit generation of inferred register classes.

I don't know the history behind the inferred classes, I thought they were generated because they might be needed :-)

Wed, Oct 3, 9:43 AM
bjope added a comment to D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

Note that embarassingly there are still a few passes where we skip machine verification in the default pass pipeline, TwoAddressInstruction being one of them. However if this is a new failure triggered by this particular patch then please fix it!

Wed, Oct 3, 8:55 AM

Sun, Sep 30

bjope committed rL343417: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.
[PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF
Sun, Sep 30, 10:28 AM
bjope closed D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.
Sun, Sep 30, 10:28 AM
bjope committed rL343416: [PHIElimination] Update the regression test for PR16508.
[PHIElimination] Update the regression test for PR16508
Sun, Sep 30, 10:25 AM
bjope closed D52553: [PHIElimination] Update the regression test for PR16508.
Sun, Sep 30, 10:24 AM

Fri, Sep 28

bjope added a comment to D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.

Minor refactoring/renaming as suggested by Matze.

BTW: This is still good to go, no need for further review. (I often approve patches with small issues remaining in cases where I trust the author to address the small issues correctly).

Fri, Sep 28, 9:37 AM
bjope updated the summary of D52553: [PHIElimination] Update the regression test for PR16508.
Fri, Sep 28, 8:40 AM
bjope updated the diff for D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.

Minor refactoring/renaming as suggested by Matze.

Fri, Sep 28, 8:39 AM
bjope updated the diff for D52553: [PHIElimination] Update the regression test for PR16508.

Removed the .ll test case (and updated comments in the new .mir test) as suggested in the review comments.

Fri, Sep 28, 8:39 AM
bjope added a comment to D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.

The patch on its own makes sense to me, so LGTM (comment below).

I didn't know PHIElimination looks for IMPLICIT_DEFs, do you have an idea why that is given that we run ProcessImplicitDefs immediately before PHIElimination and it has a rule to eliminate phi-nodes with all implicit-def inputs too...

Fri, Sep 28, 8:35 AM
bjope updated the diff for D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.
  1. Added livevars and verify-machineinstrs to the RUN line in the test case.
  2. Solved the fault detected by the verifier, i.e. incorrectly setting of killed on %0 in the inserted COPY instruction in test2.
Fri, Sep 28, 7:09 AM
bjope added a comment to D52553: [PHIElimination] Update the regression test for PR16508.

LGTM, thanks! Maybe we can even drop the .ll test now?

Fri, Sep 28, 1:15 AM

Thu, Sep 27

bjope added a reviewer for D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands: MatzeB.

I'm actually not sure if this should impact the update of liveness info. LV is deprecated and should not be used after this pass (so I don't know if it really need to be updated). And everything about LIS here is unused code unless using -early-live-intervals. And we do not have any tests for that (and when I tried -early-live-intervals I got lots of other failures). Anyway, since rL279804 did not change anything about liveness info, I guess a revert of rL279804 should not impact it either.

Thu, Sep 27, 8:00 AM
bjope added reviewers for D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF: MatzeB, tstellar.

This is slightly related to https://bugs.llvm.org/show_bug.cgi?id=39085, but this patch is supposed to focus on getting IMPLICIT_DEF when all PHI inputs are undefined.
The PR is about the problem with updating "killed" that is mentioned in the "bar" part of the test case.

Thu, Sep 27, 7:41 AM
bjope added reviewers for D52553: [PHIElimination] Update the regression test for PR16508: MatzeB, hfinkel.
Thu, Sep 27, 7:34 AM

Wed, Sep 26

bjope added a comment to D50977: [TableGen] Prefer user-defined subregister compositions over inferred ones.

So it should not be possible to do subreg_h32(V0), right?

Tablegen makes registers "inherit" some subregister indices from their subregisters, so you can end up with a h32 of a register that didn't initially have it.

Wed, Sep 26, 12:07 PM
bjope added a comment to D50977: [TableGen] Prefer user-defined subregister compositions over inferred ones.

The FPR64 and VR128 classes are a little bit unusual(?) as they only have one subreg, that maps to the high part of the register.

Wed, Sep 26, 11:20 AM
bjope added a comment to D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

The tests may pass, but is the output exactly the same? I think this should break the test in the listed example. There can't be a copy in the case it's trying to fix

Sorry, I don't think I understand what you mean. Are you talking about the example in the summary, or the added mir-test?

The tests I committed with that revision

Wed, Sep 26, 9:50 AM
bjope created D52558: [PHIElimination] Lower a PHI node with only undef uses as IMPLICIT_DEF.
Wed, Sep 26, 9:20 AM
bjope created D52553: [PHIElimination] Update the regression test for PR16508.
Wed, Sep 26, 7:54 AM

Mon, Sep 24

bjope added a comment to D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

The tests may pass, but is the output exactly the same? I think this should break the test in the listed example. There can't be a copy in the case it's trying to fix

Mon, Sep 24, 7:38 AM

Fri, Sep 21

bjope added a reviewer for D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands: kparzysz.
Fri, Sep 21, 4:39 AM
bjope retitled D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands from [CodeGen} Correctly replace subregister uses when processing tied operands to [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.
Fri, Sep 21, 4:33 AM
bjope updated the diff for D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

Addning a hand-crafted reproducer for Hexagon.

Fri, Sep 21, 4:32 AM
bjope commandeered D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands.

I'll take over this, and add a reproducer for an in-tree target!

Fri, Sep 21, 4:31 AM
bjope added inline comments to D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue.
Fri, Sep 21, 1:27 AM

Thu, Sep 20

bjope added inline comments to D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue.
Thu, Sep 20, 12:50 PM
bjope added inline comments to D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue.
Thu, Sep 20, 12:20 PM
bjope added a reviewer for D50977: [TableGen] Prefer user-defined subregister compositions over inferred ones: bjope.

I think a difference is that the ll composition clash with a user-defined subreg, while the hh composition clashes with a tablegen synthesized subreg.
And we do not get the extra synthesized subreg index for hh when there is a user defined composition.

Thu, Sep 20, 11:45 AM
bjope added a comment to D52306: [DAGCombine] Don't fold dependent loads across SELECT_CC..

Do you have a test case?

Thu, Sep 20, 10:37 AM
bjope committed rL342632: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.
[IPSCCP] Fix a problem with removing labels in a switch with undef condition
Thu, Sep 20, 2:01 AM
bjope closed D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.
Thu, Sep 20, 2:01 AM
bjope added a comment to D51751: Merge clang's isRepeatedBytePattern with LLVM's isBytewiseValue.

This patch will conflict with my patch here: https://reviews.llvm.org/D52092

Thu, Sep 20, 12:17 AM
bjope added a comment to D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue.

Might conflict with: https://reviews.llvm.org/D51751

Thu, Sep 20, 12:17 AM
bjope committed rL342618: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.
[MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs
Thu, Sep 20, 12:03 AM
bjope closed D52237: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.
Thu, Sep 20, 12:03 AM

Wed, Sep 19

bjope added inline comments to rL342576: Copy utilities updated and added for MI flags.
Wed, Sep 19, 4:08 PM

Sep 19 2018

bjope added a comment to D50977: [TableGen] Prefer user-defined subregister compositions over inferred ones.

I see one problem with this.

Sep 19 2018, 10:04 AM
bjope added inline comments to D52237: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.
Sep 19 2018, 8:21 AM
bjope updated the diff for D52237: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.

Added a reproducer using hexagon as target, that way it was possible to show the difference between having subregister liveness or not.

Sep 19 2018, 8:14 AM
bjope added inline comments to D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.
Sep 19 2018, 4:07 AM
bjope updated the diff for D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.

Fixed some mistakes detected by Florian. Thanks alot for those comments!

Sep 19 2018, 4:01 AM
bjope updated the diff for D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.

Removed a code comment uploaded by mistake in previous diff.

Sep 19 2018, 2:43 AM
bjope updated the diff for D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.
  • Got rid of the changes in ConstantFoldTerminator.
  • Now we force folding for indeterminate values before calling ConstantFoldTerminator (so now we only need to call ConstantFoldTerminator one time for the indeterminate case).
Sep 19 2018, 2:41 AM

Sep 18 2018

bjope added a comment to D50977: [TableGen] Prefer user-defined subregister compositions over inferred ones.

I like the idea. I can take a closer look at the patch when I'm at the office tomorrow.

Sep 18 2018, 11:57 AM
bjope planned changes to D52237: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.

Almost forgot, I'll try to find a test case for an in-tree target!

Sep 18 2018, 8:32 AM
bjope created D52237: [MachineVerifier] Relax checkLivenessAtDef regarding dead subreg defs.
Sep 18 2018, 8:32 AM
bjope created D52232: [IPSCCP] Fix a problem with removing labels in a switch with undef condition.
Sep 18 2018, 7:15 AM
bjope added a reviewer for D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue: haicheng.
Sep 18 2018, 4:04 AM

Sep 14 2018

bjope added a reviewer for D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue: craig.topper.
Sep 14 2018, 6:10 AM
bjope created D52092: [ValueTracking] Generalize isBytewiseValue into isSplatValue.
Sep 14 2018, 6:04 AM

Sep 6 2018

bjope updated subscribers of rL341503: [PDB] Refactor the PDB symbol classes to fix a reuse bug..

From: Zachary Turner <zturner@google.com>
Sent: den 6 september 2018 18:36
To: reviews+COMMIT515303+public+4f74d539e0065ab7@reviews.llvm.org
Cc: Björn Pettersson A <bjorn.a.pettersson@ericsson.com>
Subject: Re: [Diffusion] rL341503: [PDB] Refactor the PDB symbol classes to fix a reuse bug.

Sep 6 2018, 9:41 AM
bjope added a comment to rL341503: [PDB] Refactor the PDB symbol classes to fix a reuse bug..

Afaict it should be 2U. I'll fix this for you unless you are quick.

Sep 6 2018, 9:34 AM
bjope added a comment to rL341503: [PDB] Refactor the PDB symbol classes to fix a reuse bug..

I see some failures after this commit:

FAILED: unittests/DebugInfo/PDB/CMakeFiles/DebugInfoPDBTests.dir/NativeSymbolReuseTest.cpp.o 
/repo/app/clang/3.6/bin/clang++  -march=corei7  -DGTEST_HAS_RTTI=0 -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_LANG_CXX11=1 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LI_MACROS -Iunittests/DebugInfo/PDB -I../unittests/DebugInfo/PDB -I/usr/include/libxml2 -Iinclude -I../include -I../utils/unittest/googletest/include -I../utils/unittest/googlemock/include -fPIC -sibility-inlines-hidden -Werror -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switcefault -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -O3    -UNDEBUG  -Wno-variadic-macros -Wno-gnu-zero-variadic-macroguments -fno-exceptions -fno-rtti -MMD -MT unittests/DebugInfo/PDB/CMakeFiles/DebugInfoPDBTests.dir/NativeSymbolReuseTest.cpp.o -MF unittests/DebugInfo/PDB/CMakeFiles/DebugInfoPDBTests.dir/NativmbolReuseTest.cpp.o.d -o unittests/DebugInfo/PDB/CMakeFiles/DebugInfoPDBTests.dir/NativeSymbolReuseTest.cpp.o -c ../unittests/DebugInfo/PDB/NativeSymbolReuseTest.cpp
In file included from ../unittests/DebugInfo/PDB/NativeSymbolReuseTest.cpp:18:
In file included from ../include/llvm/Testing/Support/Error.h:17:
In file included from ../utils/unittest/googlemock/include/gmock/gmock.h:58:
In file included from ../utils/unittest/googlemock/include/gmock/gmock-actions.h:46:
In file included from ../utils/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h:47:
../utils/unittest/googletest/include/gtest/gtest.h:1392:11: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
../utils/unittest/googletest/include/gtest/gtest.h:1421:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
../unittests/DebugInfo/PDB/NativeSymbolReuseTest.cpp:68:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested h
    ASSERT_EQ(2, Compilands->getChildCount());
    ^
../utils/unittest/googletest/include/gtest/gtest.h:1956:32: note: expanded from macro 'ASSERT_EQ'
# define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
                               ^
../utils/unittest/googletest/include/gtest/gtest.h:1939:63: note: expanded from macro 'GTEST_ASSERT_EQ'
                      EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
                                                              ^
../utils/unittest/googletest/include/gtest/gtest_pred_impl.h:166:23: note: expanded from macro 'ASSERT_PRED_FORMAT2'
  GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
                      ^
../utils/unittest/googletest/include/gtest/gtest_pred_impl.h:147:17: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \
                ^
../utils/unittest/googletest/include/gtest/gtest_pred_impl.h:77:52: note: expanded from macro 'GTEST_ASSERT_'
  if (const ::testing::AssertionResult gtest_ar = (expression)) \
                                                   ^
1 error generated.
Sep 6 2018, 9:28 AM
bjope accepted D51169: [NewGVN] Mark function as changed if we erase instructions..

Still LGTM!

Sep 6 2018, 8:33 AM
bjope accepted D51169: [NewGVN] Mark function as changed if we erase instructions..

An alternative could perhaps be to do something like this

Changed |= !InstructionsToErase.empty();

before the loop (assuming that if we got something in InstructionsToErase then we also have done some modifications).
But I think your solution (setting Changed whenever we do a change) is easier to understand.

Sep 6 2018, 1:39 AM

Sep 5 2018

bjope accepted D51596: Fix bug in MachineInstr::hasPropertyInBundle.

@bjope, are you happy with the last diff?

Sep 5 2018, 11:25 PM

Sep 4 2018

bjope added inline comments to D51596: Fix bug in MachineInstr::hasPropertyInBundle.
Sep 4 2018, 6:16 AM
bjope accepted D51596: Fix bug in MachineInstr::hasPropertyInBundle.
Sep 4 2018, 2:58 AM
bjope added a comment to D51596: Fix bug in MachineInstr::hasPropertyInBundle.

It seems reasonable to match the type of llvm::MCInstrDesc::getFlags() which is uint64_t nowadays. The hasPropertyInBundle method is private to MachineInstr, and afaict only used from MachineInstr::hasProperty. This is kind of a no-brainer to me, and I think we do not need a regression test here.

Sep 4 2018, 2:58 AM
bjope added a comment to D50621: [DebugInfo] Fix bug in LiveDebugVariables..

@bjope: After I committed the patch to LLVM repo, it still failed in clang-ppc64be-linux-lnt buildbot.

I guess the test case should contain target triple to be filtered out by llvm-lit in other architectures.
Is it correct to add "target triple = 'x86_64-unknown-linux-gnu' " in the test case?

Sep 4 2018, 1:28 AM

Aug 29 2018

bjope added a comment to D50621: [DebugInfo] Fix bug in LiveDebugVariables..

Add -run-pass=virtregrewriter to the test case.

Aug 29 2018, 11:47 AM

Aug 28 2018

bjope added a comment to D50621: [DebugInfo] Fix bug in LiveDebugVariables..

Thanks @bjope for providing a good test case for the patch.
It will trigger another assertion due to no emitDebugValues() after livedebugvars.
I found it depends on VirtRegRewriter. So, I will change -run-pass to -stop-after.
Besides this, the test case works after applying the patch.

Aug 28 2018, 8:26 AM
bjope requested changes to D50621: [DebugInfo] Fix bug in LiveDebugVariables..

Revoking the ready-to-land since the test case needs to be updated.

Aug 28 2018, 12:18 AM

Aug 26 2018

bjope updated subscribers of rL340583: DebugInfo: Improve debug location merging.

We've got MIR tests (out-of-tree target) that runs the branch-folder pass.

Aug 26 2018, 4:56 AM

Aug 25 2018

bjope added a comment to D50868: [X86] Teach combineLoopMAddPattern to handle cases where there is no loop and the add has two multiple inputs.

Seems to have caused https://bugs.llvm.org/show_bug.cgi?id=38700

Aug 25 2018, 9:27 AM
bjope committed rL340680: [CodeGen] Set FrameSetup/FrameDestroy on BUNDLE instructions.
[CodeGen] Set FrameSetup/FrameDestroy on BUNDLE instructions
Aug 25 2018, 4:27 AM
bjope closed D50637: [CodeGen] Set FrameSetup/FrameDestroy on BUNDLE instructions.
Aug 25 2018, 4:27 AM
bjope committed rL340679: [LiveDebugVariables] Avoid faulty addDefsFromCopies in computeIntervals.
[LiveDebugVariables] Avoid faulty addDefsFromCopies in computeIntervals
Aug 25 2018, 3:03 AM
bjope closed D50788: [LiveDebugVariables] Avoid faulty addDefsFromCopies in computeIntervals.
Aug 25 2018, 3:03 AM · debug-info

Aug 23 2018

bjope added inline comments to D50621: [DebugInfo] Fix bug in LiveDebugVariables..
Aug 23 2018, 10:04 AM
bjope added a reviewer for D50788: [LiveDebugVariables] Avoid faulty addDefsFromCopies in computeIntervals: aprantl.
Aug 23 2018, 7:13 AM · debug-info

Aug 22 2018

bjope added a comment to D46100: WIP: [IR/Verifier] Diagnose use-before-def scenarios for debug intrinsics.

A problem with CodeGenPrepare::placeDbgValues is that it can move debug intrinsics more or less blindly, for example without taking other debug intrinsics refering to the same variable into account.
If there is a use-before-def scenario it often is correct to move the using dbg.value below the def, but that depends on which transform that resulted in such a situation (I guess that often it might be due to an opt-pass not caring about debug intrinsics).
Right now CodeGenPrepare::placeDbgValues also hoists dbg.value instructions when the use already is after the def. If I remember correctly it can even move a dbg.value from one basic block to another.

Aug 22 2018, 2:59 PM
bjope accepted D47541: Allow creating llvm::Function in non-zero address spaces.

As mentioned earlier there still are some PointerType::getUnqual calls (mainly related to sanitizers and profiling?) that might need attention in the future. I don't see that as a stopper for this patch, specially since this shouldn't impact targets where function address space is zero (except that there will be an extra field for function address space in the bitcode). And I think it will be easier to do future fixes related to program address space when we have this basic framework in place.

Aug 22 2018, 10:42 AM
bjope added inline comments to D50638: [AsmPrinter] Look inside bundles and rely on FrameDestroy in calculateDbgValueHistory.
Aug 22 2018, 2:56 AM

Aug 21 2018

bjope added a reviewer for D50637: [CodeGen] Set FrameSetup/FrameDestroy on BUNDLE instructions: kparzysz.
Aug 21 2018, 2:09 PM
bjope committed rL340326: [RegisterCoalescer] Use substPhysReg in reMaterializeTrivialDef.
[RegisterCoalescer] Use substPhysReg in reMaterializeTrivialDef
Aug 21 2018, 12:48 PM
bjope closed D50844: [RegisterCoalescer] Use substPhysReg in reMaterializeTrivialDef.
Aug 21 2018, 12:48 PM
bjope added inline comments to rC340272: [analyzer][UninitializedObjectChecker] Explicit namespace resolution for….
Aug 21 2018, 7:53 AM
bjope committed rL340267: Change how finalizeBundle selects debug location for the BUNDLE instruction.
Change how finalizeBundle selects debug location for the BUNDLE instruction
Aug 21 2018, 4:00 AM
bjope closed D50639: Change how finalizeBundle selects debug location for the BUNDLE instruction.
Aug 21 2018, 4:00 AM
bjope added a comment to D50461: DAG: Don't use ABI copies in some contexts.

(Not sure I'm able to review this, I don't know exactly how it works. I'll try to help out by asking some questions, maybe I will learn something to be confident enough to review it.)

Aug 21 2018, 1:49 AM
bjope accepted D50621: [DebugInfo] Fix bug in LiveDebugVariables..

Just a small nit-pick in the summary text: s/hanlde/handle/

Aug 21 2018, 1:03 AM