Page MenuHomePhabricator

bjope (Bjorn Pettersson)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 26 2016, 7:58 AM (270 w, 2 d)

Recent Activity

Mon, Nov 29

bjope abandoned D114620: [EarlyCSE] Avoid non-deterministic order when traversing DominatorTree.

Abandoned, problem was dealt with in https://reviews.llvm.org/D110292

Mon, Nov 29, 4:27 AM · Restricted Project
bjope added inline comments to D110292: Use a deterministic order when updating the DominatorTree.
Mon, Nov 29, 4:25 AM · Restricted Project
bjope committed rG297fb66484c7: Use a deterministic order when updating the DominatorTree (authored by bjope).
Use a deterministic order when updating the DominatorTree
Mon, Nov 29, 4:23 AM
bjope closed D110292: Use a deterministic order when updating the DominatorTree.
Mon, Nov 29, 4:22 AM · Restricted Project

Sat, Nov 27

bjope committed rG00cf717f51d7: [test] Use -passes syntax in Feature/OperandBundles lit tests (authored by bjope).
[test] Use -passes syntax in Feature/OperandBundles lit tests
Sat, Nov 27, 1:13 AM
bjope committed rG407600604b59: [test] Use -passes in lit tests for the UpdateTestChecks tool (authored by bjope).
[test] Use -passes in lit tests for the UpdateTestChecks tool
Sat, Nov 27, 1:13 AM
bjope committed rG8ebb3eac02a9: [test] Use -passes syntax when specifying pipeline in some more tests (authored by bjope).
[test] Use -passes syntax when specifying pipeline in some more tests
Sat, Nov 27, 1:13 AM
bjope closed D114518: [test] Use -passes syntax in Feature/OperandBundles lit tests.
Sat, Nov 27, 1:13 AM · Restricted Project
bjope closed D114517: [test] Use -passes in lit tests for the UpdateTestChecks tool.
Sat, Nov 27, 1:13 AM · Restricted Project
bjope closed D114516: [test] Use -passes syntax when specifying pipeline in some more tests.
Sat, Nov 27, 1:13 AM · Restricted Project

Fri, Nov 26

bjope added a comment to D113753: [Analyzer][Core] Better simplification in SimpleSValBuilder::evalBinOpNN.

This seem to cause some weird results.

Fri, Nov 26, 10:24 AM · Restricted Project
bjope added a comment to D114620: [EarlyCSE] Avoid non-deterministic order when traversing DominatorTree.

This can be seen as an alternative to https://reviews.llvm.org/D110292

Fri, Nov 26, 2:25 AM · Restricted Project
bjope added a comment to D110292: Use a deterministic order when updating the DominatorTree.

I'm also showing the alternative approach, making EarlyCSE less depending on what other passes is doing when updating the DomTree, here: https://reviews.llvm.org/D114620

Fri, Nov 26, 2:25 AM · Restricted Project
bjope updated the diff for D110292: Use a deterministic order when updating the DominatorTree.

Updated code comments.

Fri, Nov 26, 2:22 AM · Restricted Project
bjope requested review of D114620: [EarlyCSE] Avoid non-deterministic order when traversing DominatorTree.
Fri, Nov 26, 2:21 AM · Restricted Project

Thu, Nov 25

bjope accepted D114033: [llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake but use old option name.
Thu, Nov 25, 5:02 AM · Restricted Project

Wed, Nov 24

bjope added a comment to D114033: [llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake but use old option name.

LGTM

Wed, Nov 24, 7:19 AM · Restricted Project
bjope requested review of D114518: [test] Use -passes syntax in Feature/OperandBundles lit tests.
Wed, Nov 24, 1:49 AM · Restricted Project
bjope requested review of D114517: [test] Use -passes in lit tests for the UpdateTestChecks tool.
Wed, Nov 24, 1:19 AM · Restricted Project
bjope requested review of D114516: [test] Use -passes syntax when specifying pipeline in some more tests.
Wed, Nov 24, 1:17 AM · Restricted Project
bjope added inline comments to D110385: [SCEV] Verify contents of cached Block Dispositions.
Wed, Nov 24, 12:15 AM · Restricted Project

Mon, Nov 15

bjope added inline comments to D113689: [llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake.
Mon, Nov 15, 10:43 AM · Restricted Project

Wed, Nov 10

bjope added a comment to D110527: [llvm-reduce] Add MIR support..

The IR part can often be eliminated from a MIR based test case. But sure, one could argue that when running llvm-reduce it could be mandatory to add an IR section in the .mir file first (but then I think one needs to also add the function prototype).

I can maybe see this as an argument for allowing override of the triple, but not as an argument for not defaulting to the triple if present. Frankly, I find even the override case unconvincing.

Wed, Nov 10, 10:24 AM · Restricted Project
bjope added a comment to D110527: [llvm-reduce] Add MIR support..

I'm looking at using this functionality, and ran into a question on the design. I'm not clear why you exposed an mtriple command line argument on llvm-reduce. It appears you're using this to derive a default data layout, and as an input to parsing the machine function. However, LLVM IR allows specifying both data layout and triple in IR. As a result, we should be able to have the parsing derive the appropriate target directly from the test case. Is there something I'm missing here?

I believe it's only used in the MIR case, not the IR case. This could definitely be made clearer in the cl::opt help.

I don't think it's necessary even for the MIR case. MIR includes the full IR module, and is as a result, is also fully self describing. (If the optional datalayout and triple fields are present.)

Wed, Nov 10, 10:07 AM · Restricted Project

Mon, Nov 8

bjope accepted D113190: [llvm] Inclusive language: replace master with main in file paths in LIT tests.

LGTM

Mon, Nov 8, 5:05 AM · Restricted Project

Thu, Nov 4

bjope added a comment to D113190: [llvm] Inclusive language: replace master with main in file paths in LIT tests.

Suggesting some edits (there shouldn't be a need to have a DIFile directory path (at least not in some of those test cases). So I think it is better to clean it up a bit more if touching those test cases.

Thu, Nov 4, 7:36 AM · Restricted Project

Tue, Nov 2

bjope accepted D112472: [Scalarizer] Do not insert instructions between PHI nodes and debug intrinsics..

LGTM!

Tue, Nov 2, 1:51 AM · Restricted Project

Mon, Nov 1

bjope added a comment to D112472: [Scalarizer] Do not insert instructions between PHI nodes and debug intrinsics..

I noticed that we have two downstream fixes (that for some reason haven't been upstreamed yet, I figure we did not have any reproducers identifying this as an upstream problem) that is a bit related to your patch.
Our patch looks like this:

Mon, Nov 1, 10:01 AM · Restricted Project

Oct 22 2021

bjope added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I actually see lots of these as well:

clang: ../lib/Support/APInt.cpp:284: int llvm::APInt::compareSigned(const llvm::APInt &) const: Assertion `BitWidth == RHS.BitWidth && "Bit widths must be same for comparison"' failed.
Oct 22 2021, 10:41 AM · Restricted Project
bjope added a comment to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.

I get failures after having merged this patch:

Oct 22 2021, 10:39 AM · Restricted Project

Oct 20 2021

bjope committed rG3d152bc49ddc: [NewPM][test] Strickly use -passes in some more lit tests (authored by bjope).
[NewPM][test] Strickly use -passes in some more lit tests
Oct 20 2021, 8:13 AM
bjope committed rGa3ca7dd0ab99: [NewPM][test] Use -passes syntax in Mem2Reg lit tests (authored by bjope).
[NewPM][test] Use -passes syntax in Mem2Reg lit tests
Oct 20 2021, 8:13 AM
bjope committed rGe9320b1a95a6: [NewPM][test] Only use -passes syntax in Scalarizer lit tests (authored by bjope).
[NewPM][test] Only use -passes syntax in Scalarizer lit tests
Oct 20 2021, 6:17 AM
bjope committed rG5e4dbd7a2fb0: [NewPM][test] Use -passes syntax in VectorCombine lit tests (authored by bjope).
[NewPM][test] Use -passes syntax in VectorCombine lit tests
Oct 20 2021, 6:17 AM
bjope committed rG15f1fb5a302d: [NewPM][test] Use -passes syntax in BoundsChecking lit tests (authored by bjope).
[NewPM][test] Use -passes syntax in BoundsChecking lit tests
Oct 20 2021, 6:17 AM
bjope committed rG57bd67abfcb8: [NewPM][test] Use -passes syntax in SpeculativeExecution lit tests (authored by bjope).
[NewPM][test] Use -passes syntax in SpeculativeExecution lit tests
Oct 20 2021, 6:17 AM
bjope committed rGa413663d8fea: [NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM (authored by bjope).
[NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM
Oct 20 2021, 6:17 AM

Oct 19 2021

bjope abandoned D111066: Disable "[SCEV] Prove implications of different type via truncation".

Abandoned. Obsoleted by D111896.

Oct 19 2021, 12:46 PM · Restricted Project
bjope committed rG9c44a0996c8c: [SCEV] Fix formatting error introduced by D112080 (authored by bjope).
[SCEV] Fix formatting error introduced by D112080
Oct 19 2021, 12:44 PM
bjope committed rG08619006a0c0: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond (authored by bjope).
[SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond
Oct 19 2021, 12:40 PM
bjope closed D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.
Oct 19 2021, 12:39 PM · Restricted Project
bjope retitled D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond from [SCEV] Avoid long execution time in ScalarEvolution::isImpliedCond to [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.
Oct 19 2021, 11:47 AM · Restricted Project
bjope updated the diff for D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.

Now using isKnownViaNonRecursiveReasoning instead of isKnownPredicate.

Oct 19 2021, 11:46 AM · Restricted Project
bjope planned changes to D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.

I plan to update this patch into using isKnownViaNonRecursiveReasoning as suggested by @nikic

Oct 19 2021, 9:45 AM · Restricted Project
bjope added a comment to D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.

I figure there might be some program out there for which this still will converge slowly etc, and I'm not sure exactly how to prove that this is better in general terms.

Oct 19 2021, 8:25 AM · Restricted Project
bjope added a comment to D111066: Disable "[SCEV] Prove implications of different type via truncation".

An alternative solution is presented in D112080 (using a different order for the checks involved).

Oct 19 2021, 8:22 AM · Restricted Project
bjope requested review of D112080: [SCEV] Avoid compile time explosion in ScalarEvolution::isImpliedCond.
Oct 19 2021, 8:20 AM · Restricted Project

Oct 8 2021

bjope added inline comments to D111066: Disable "[SCEV] Prove implications of different type via truncation".
Oct 8 2021, 7:28 AM · Restricted Project

Oct 7 2021

bjope committed rG7f93bb4a5827: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions (authored by bjope).
[LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions
Oct 7 2021, 10:56 AM
bjope committed rGb0c34e0dab78: [test] Pre-commit test case for PR51981. NFC (authored by bjope).
[test] Pre-commit test case for PR51981. NFC
Oct 7 2021, 10:56 AM
bjope closed D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.
Oct 7 2021, 10:56 AM · Restricted Project
bjope closed D110812: [test] Pre-commit test case for PR51981. NFC.
Oct 7 2021, 10:56 AM · Restricted Project
bjope added a comment to D110848: [TwoAddressInstruction] Fix ReplacedAllUntiedUses in processTiedPairs.

Thank! LGTM!

Oct 7 2021, 2:11 AM · Restricted Project

Oct 6 2021

bjope added a comment to D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.

It looks like the crash/differences may be caused by stale entries in the loop disposition cache. Are those caught by the checks in D110385?

Yep. I've downloaded D110385, and used verify<scalar-evolution> after loop-rotate instead of print<scalar-evolution>. Then I see this:

Cached block disposition of SCEV (trunc i32 %wide to i16) for basic block: 
loop.inner:                                       ; preds = %loop.inner, %loop.inner.ph
  %iv = phi i16 [ %narrow, %loop.inner.ph ], [ %iv.plus, %loop.inner ]
  %iv.promoted = zext i16 %iv to i32
  %gep = getelementptr inbounds [11263 x i32], [11263 x i32]* @array, i32 0, i32 %iv.promoted
  store i32 7, i32* %gep, align 1
  %iv.plus = add i16 %iv, 1
  %cmp = icmp ult i16 %iv.plus, 700
  br i1 %cmp, label %loop.inner, label %loop.outer.latch
 has changed!
Cached: 2
Actual: 0
Oct 6 2021, 7:52 AM · Restricted Project
bjope added a comment to D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.

It looks like the crash/differences may be caused by stale entries in the loop disposition cache. Are those caught by the checks in D110385?

Oct 6 2021, 7:41 AM · Restricted Project
bjope added inline comments to D110812: [test] Pre-commit test case for PR51981. NFC.
Oct 6 2021, 4:06 AM · Restricted Project
bjope updated the diff for D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.

Rebased after modifications in D110812.

Oct 6 2021, 4:02 AM · Restricted Project
bjope updated the diff for D110812: [test] Pre-commit test case for PR51981. NFC.

Cleaned up the test case a bit as suggested in the review.

Oct 6 2021, 4:02 AM · Restricted Project

Oct 5 2021

bjope added a comment to D110170: [InstCombine] fold cast of right-shift if high bits are not demanded.

I noticed a regression in a downstream benchmark, that at least partly seem to be caused by it. Here is a reduced example: https://godbolt.org/z/M9MKjcYPG

From what I can see there is a quite early run of InstCombine in the O3 pipeline, which basically happens directly after GlobalOpt without any CSE in between. So in such an early run of InstCombine we do trigger transforms based on "one use", which wouldn't have happened if running CSE before InstCombine. I figure that might be a more general problem and not only specific to the rewrites introduced in this patch.

We'll analyse the regression a bit more (maybe there are other things that happens that contributes to the regression). But wanted to mention the above. And it makes me a bit curious if it is a general problem with that early instcombine run that "one use" checks might be fooled by not having done CSE after GlobalOpt.

Thanks for posting the example. That does seem like a general problem, and it's worth experimenting with the pass manager to see if reordering the passes makes things better or worse.
I'm not sure if we have an IR pass that is responsible for seeing that we have redundant shift ops like in the example. Is that a possible trick for GVN?
Also, I tried running the example through codegen for x86 and AArch64, and they both manage to eliminate the redundant extra shift after legalization. Is it possible that your target is missing a semi-generic SDAG transform?

Oct 5 2021, 3:32 PM · Restricted Project
bjope committed rG1896fb2cfffc: [SelectionDAG] Assume that a GlobalAlias may alias other global values (authored by bjope).
[SelectionDAG] Assume that a GlobalAlias may alias other global values
Oct 5 2021, 3:17 AM
bjope committed rG8ed0e6b2cf94: [SelectionDAG] Replace error prone index check in BaseIndexOffset… (authored by bjope).
[SelectionDAG] Replace error prone index check in BaseIndexOffset…
Oct 5 2021, 3:17 AM
bjope closed D110064: [SelectionDAG] Assume that a GlobalAlias may alias other global values.
Oct 5 2021, 3:17 AM · Restricted Project
bjope closed D110256: [SelectionDAG] Replace error prone index check in BaseIndexOffset::computeAliasing.
Oct 5 2021, 3:17 AM · Restricted Project
bjope added a comment to D111066: Disable "[SCEV] Prove implications of different type via truncation".

This patch is one year old. It is extremely surprising that you are trying to disable it rather than find the root cause.

I don't believe this is infinite recursion. Before all, infinite recursion should end up with stack overflow and not timeout. I can believe there is some exponential explosion happening, but in this case you need to find how exactly it happens and fix the acutal reason. The fact that this patch triggers something very slow doesn't convince me that this patch is guilty, and this test doesn't allow to figure it out easily.

Could you please check (at least, but not limited to):

  • Do we end up creating some HUGE SCEVs in your test?
  • Do we end up making the same implication query millions of times?
  • Do we end up walking huge dom trees for execution of some queries?

Before we decide to switch something off, I want to know why exactly.

Oct 5 2021, 1:24 AM · Restricted Project

Oct 4 2021

bjope updated the diff for D111066: Disable "[SCEV] Prove implications of different type via truncation".

Reduced the test case. Maybe too much, because now it terminates after around 10 minutes. The previous (>5000 lines) version of the test case is still running after 2 hours (and I do not even know if it will terminate).

Oct 4 2021, 3:18 PM · Restricted Project
bjope added a comment to D110170: [InstCombine] fold cast of right-shift if high bits are not demanded.

I noticed a regression in a downstream benchmark, that at least partly seem to be caused by it. Here is a reduced example: https://godbolt.org/z/M9MKjcYPG

Oct 4 2021, 3:04 PM · Restricted Project
bjope added a comment to D110848: [TwoAddressInstruction] Fix ReplacedAllUntiedUses in processTiedPairs.

Yes I considered it, but I think there are advantages to both approaches. The problem with a MIR test case is that if the target changes its instruction definitions in any way, updating the MIR input is definitely a manual process.

That said, I'm happy to do a MIR test instead if you still prefer it.

The other side of the medal is that the test now depends on the all the passes before to behave the same, so changes to instruction selection, calling convention modeling etc. throw off the tests.

While I may be biased here as to what is more common, I think having a unit test as targetted as possible (1 pass only) is a good principle to aim for.

Oct 4 2021, 1:02 PM · Restricted Project
bjope planned changes to D111066: Disable "[SCEV] Prove implications of different type via truncation".

Can the test case be reduced? I don't think we want to add a 5000 line test case for this.

I made some attempts using bugpoint earlier (and this is actually a bit reduced compared to the original test case). A bit tricky to set it up as the fail scenario is that there should be a timeout, and then it will take lots of time to get bugpoint to actually reduce anything.
I also made some attempts adding some kind of debug printouts to detect failure by identifying some repeated patterns when calling ScalarEvolution::isImpliedCond, but never managed to get that working properly.
If I knew what the problem is it might be easier to reduce it ;-)

If anyone got some ideas on how to tackle the problem with reducing it I wouldn't mind testing those ideas.

(Maybe I should give "bugpoint + timeout" another try. But I think I need quite a long timeout setting, so it takes some time if it only attempts to remove 1 instruction every 5 minutes or so.)

Oct 4 2021, 10:41 AM · Restricted Project
bjope added a comment to D111066: Disable "[SCEV] Prove implications of different type via truncation".

Can the test case be reduced? I don't think we want to add a 5000 line test case for this.

Oct 4 2021, 10:16 AM · Restricted Project
bjope added a comment to D89548: [SCEV] Prove implications of different type via truncation.

Hi @mkazantsev ,

The following hang started occuring with this patch:
https://bugs.llvm.org/show_bug.cgi?id=51869

I've also seen hangs in loop-idiom-recognizer with the patch so I suppose many passes using SCEV might run into the same kind of problems.

I haven't tried to revert this patch, but maybe that should be explored (as it seems broken in the sense that it might cause infinite looping / severe compile time regressions)?

Oct 4 2021, 9:05 AM · Restricted Project
bjope requested review of D111066: Disable "[SCEV] Prove implications of different type via truncation".
Oct 4 2021, 8:59 AM · Restricted Project
bjope updated the summary of D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.
Oct 4 2021, 6:55 AM · Restricted Project
bjope updated the diff for D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.

Rebased.

Oct 4 2021, 6:53 AM · Restricted Project
bjope committed rG7f84fa4ad41a: [TargetLibraryInfo] Refactor size_t checks in isValidProtoForLibFunc. NFC (authored by bjope).
[TargetLibraryInfo] Refactor size_t checks in isValidProtoForLibFunc. NFC
Oct 4 2021, 6:52 AM
bjope added a comment to D110256: [SelectionDAG] Replace error prone index check in BaseIndexOffset::computeAliasing.

ping

Oct 4 2021, 3:08 AM · Restricted Project

Sep 30 2021

bjope added inline comments to D110812: [test] Pre-commit test case for PR51981. NFC.
Sep 30 2021, 10:38 AM · Restricted Project
bjope added a comment to D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.

@bjope What do your pointers look like? For RISCV-64 CHERI and Arm's Morello we have 128 bits + 1 bit of hidden state, but only 64 of them are used for the address part, so uintptr_t is 128 bits and size_t/ptrdiff_t are 64 bits. Our datalayout string is e-m:e-pf200:128:128:128:64-p:64:64-i64:64-i128:128-n64-S128-A200-P200-G200 (the f in pf200 marks address space 200 as using "fat pointers", since our backend predates non-integral pointers and non-integral pointers also limit optimizations a bit too much since ptrtoint is fine for us). We also have a version CHERI for 32-bit architectures where we 64-bit pointers+32-bit size_t, and therefore use "e-m:e-pf200:64:64:64:32-p:32:32-i64:64-n32-S128-A200-P200-G200"

Sep 30 2021, 5:58 AM · Restricted Project
bjope added inline comments to D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.
Sep 30 2021, 4:21 AM · Restricted Project
bjope added a comment to D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.

Notice that I feel a bit "on deep water" here. Is the patch (and the description in the commit msg) making sense?

Sep 30 2021, 4:18 AM · Restricted Project
bjope requested review of D110813: [LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions.
Sep 30 2021, 4:15 AM · Restricted Project
bjope requested review of D110812: [test] Pre-commit test case for PR51981. NFC.
Sep 30 2021, 4:14 AM · Restricted Project

Sep 29 2021

bjope committed rG3f8027fb67bc: [test] Update some test cases to use -passes when specifying the pipeline (authored by bjope).
[test] Update some test cases to use -passes when specifying the pipeline
Sep 29 2021, 12:53 PM
bjope closed D108472: [test] Update some test cases to use -passes when specifying the pipeline.
Sep 29 2021, 12:53 PM · Restricted Project
bjope added a comment to D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.

As I mentioned on the other review, I think that DL.getIndexSizeInBits() should be used for the size_t size. If we do that, do we really need a TLI hook?

Sep 29 2021, 12:41 AM · Restricted Project

Sep 28 2021

bjope added inline comments to D110508: [SelectionDAG] Fix shift libcall ABI mismatch in shift-amount argument.
Sep 28 2021, 8:08 AM · Restricted Project
bjope updated the diff for D110064: [SelectionDAG] Assume that a GlobalAlias may alias other global values.

Ran clang-format on unittest updates.

Sep 28 2021, 7:50 AM · Restricted Project
bjope committed rG460efc1fb835: [Analysis] Be defensive when matching size_t in lib call signatures (authored by bjope).
[Analysis] Be defensive when matching size_t in lib call signatures
Sep 28 2021, 6:31 AM
bjope closed D110584: [Analysis] Be defensive when matching size_t in lib call signatures.
Sep 28 2021, 6:30 AM · Restricted Project
bjope committed rG1f5ea14bca71: [Analysis] Add FIXME:s related to size_t type checks (authored by bjope).
[Analysis] Add FIXME:s related to size_t type checks
Sep 28 2021, 6:30 AM
bjope closed D110583: [Analysis] Add FIXME:s related to size_t type checks.
Sep 28 2021, 6:30 AM · Restricted Project
bjope added a comment to D110064: [SelectionDAG] Assume that a GlobalAlias may alias other global values.

Can you add a codegen test for PR51878? The example listed in your message should do.

Once I think with the follow up, this should be good to go.

Sep 28 2021, 3:50 AM · Restricted Project
bjope added a comment to D89548: [SCEV] Prove implications of different type via truncation.

Hi @mkazantsev ,

The following hang started occuring with this patch:
https://bugs.llvm.org/show_bug.cgi?id=51869

I've also seen hangs in loop-idiom-recognizer with the patch so I suppose many passes using SCEV might run into the same kind of problems.

Sep 28 2021, 2:46 AM · Restricted Project
bjope added a reviewer for D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI: nikic.
Sep 28 2021, 2:06 AM · Restricted Project
bjope updated the diff for D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.

Rebased on top of D110584.

Sep 28 2021, 1:50 AM · Restricted Project
bjope updated the diff for D110584: [Analysis] Be defensive when matching size_t in lib call signatures.

Update after review feedback:
Now assuming that we always have a Module (and DataLayout) when using getLibFunc/isValidProtoForLibFunc.

Sep 28 2021, 1:49 AM · Restricted Project

Sep 27 2021

bjope added inline comments to D110584: [Analysis] Be defensive when matching size_t in lib call signatures.
Sep 27 2021, 2:38 PM · Restricted Project
bjope resigned from D110060: [LoopBoundSplit] Handle the case in which exiting block is loop header.
Sep 27 2021, 1:43 PM · Restricted Project
bjope requested review of D110585: [Analysis][SimplifyLibCalls] Refactor code related to size_t in lib func signatures. NFCI.
Sep 27 2021, 1:42 PM · Restricted Project
bjope requested review of D110584: [Analysis] Be defensive when matching size_t in lib call signatures.
Sep 27 2021, 1:41 PM · Restricted Project
bjope added inline comments to D110508: [SelectionDAG] Fix shift libcall ABI mismatch in shift-amount argument.
Sep 27 2021, 1:40 PM · Restricted Project