Page MenuHomePhabricator

mbodart (Mitch Bodart)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 17 2015, 11:41 AM (217 w, 2 d)

Recent Activity

May 26 2016

mbodart committed rL270935: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.
[CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker
May 26 2016, 4:15 PM
mbodart closed D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker by committing rL270935: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.
May 26 2016, 4:15 PM
mbodart added inline comments to D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.
May 26 2016, 3:37 PM
mbodart added inline comments to D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.
May 26 2016, 3:20 PM
mbodart updated the diff for D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.

Thanks for the .mir suggestions!

May 26 2016, 3:17 PM
mbodart updated the diff for D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.

I uploaded the alternate fix I alluded to, which is all in ScanInstruction.
This retains the KeepReg setting from Sanjay's fix for pr20020, but performs the other liveness updates.
In particular, DefIndices[%CH] gets updated, and prevents %CH from being used as a replacement register.

May 26 2016, 11:37 AM

May 25 2016

mbodart added a comment to D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.

Sanjay, I tried backing out your fix for pr20020.ll, but the test passes either way. So something else changed along the way.
This is a great argument for using a .mir test, and I'll pursue that.

May 25 2016, 12:28 PM

May 24 2016

mbodart added a comment to D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.

I wasn't familiar with .mir files, so thanks for pointing them out!
Unfortunately creating one directly from the original pr27681.ll file yields
a .mir file which incurs various parse and semantic errors when run through
llc, so it may take some effort to get a clean .mir file. Perhaps someone
with more experience than I can whip one out quickly?

May 24 2016, 3:36 PM

May 23 2016

mbodart added a comment to D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.

I was also not familiar with this code, until diving in to fix pr27681.

May 23 2016, 4:06 PM

May 20 2016

mbodart added a reviewer for D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker: MatzeB.
May 20 2016, 9:18 AM

May 19 2016

mbodart retitled D20456: [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker from to [CodeGen] Fix problem with X86 byte registers in CriticalAntiDepBreaker.
May 19 2016, 4:52 PM
mbodart committed rL270077: CodeGen: Move check of EnablePostRAScheduler to avoid disabling….
CodeGen: Move check of EnablePostRAScheduler to avoid disabling…
May 19 2016, 9:47 AM
mbodart closed D20186: Move the check of EnablePostRAScheduler to avoid side effect of disabling antidependency breaker by committing rL270077: CodeGen: Move check of EnablePostRAScheduler to avoid disabling….
May 19 2016, 9:47 AM

May 16 2016

mbodart added inline comments to D20186: Move the check of EnablePostRAScheduler to avoid side effect of disabling antidependency breaker.
May 16 2016, 8:54 AM

May 11 2016

mbodart retitled D20186: Move the check of EnablePostRAScheduler to avoid side effect of disabling antidependency breaker from to Move the check of EnablePostRAScheduler to avoid side effect of disabling antidependency breaker.
May 11 2016, 4:01 PM

Apr 27 2016

mbodart committed rL267809: [X86] Enable the post-RA-scheduler for clang's default 32-bit cpu..
[X86] Enable the post-RA-scheduler for clang's default 32-bit cpu.
Apr 27 2016, 3:58 PM
mbodart closed D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus by committing rL267809: [X86] Enable the post-RA-scheduler for clang's default 32-bit cpu..
Apr 27 2016, 3:58 PM
mbodart added a comment to D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus.

Thanks for the testing suggestions Sanjay, but I think I'll stick with the current test for now.

Apr 27 2016, 3:43 PM
mbodart updated the diff for D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus.

Rebased, and removed several lit tests from this change set as I updated them separately.

Apr 27 2016, 1:32 PM

Apr 26 2016

mbodart committed rL267629: [X86] Replace -mcpu with -mattr in several tests.
[X86] Replace -mcpu with -mattr in several tests
Apr 26 2016, 4:42 PM
mbodart closed D19568: [X86] Replace -mcpu with -mattr in several tests by committing rL267629: [X86] Replace -mcpu with -mattr in several tests.
Apr 26 2016, 4:42 PM
mbodart added inline comments to D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus.
Apr 26 2016, 4:36 PM
mbodart retitled D19568: [X86] Replace -mcpu with -mattr in several tests from to [X86] Replace -mcpu with -mattr in several tests.
Apr 26 2016, 4:28 PM

Apr 22 2016

mbodart added inline comments to D18867: [IndVarSimplify] Eliminate zext of a signed IV when the IV is known to be non-negative .
Apr 22 2016, 9:00 AM

Apr 21 2016

mbodart added inline comments to D18777: [ValueTracking] An improvement to IR ValueTracking on Non-negative Integers.
Apr 21 2016, 1:51 PM
mbodart added inline comments to D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus.
Apr 21 2016, 12:12 PM

Apr 20 2016

mbodart updated D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus.
Apr 20 2016, 8:38 AM

Apr 15 2016

mbodart added inline comments to D18777: [ValueTracking] An improvement to IR ValueTracking on Non-negative Integers.
Apr 15 2016, 4:20 PM
mbodart added inline comments to D18867: [IndVarSimplify] Eliminate zext of a signed IV when the IV is known to be non-negative .
Apr 15 2016, 2:08 PM

Apr 14 2016

mbodart retitled D19138: [X86] Enable the post-RA-scheduler for 32-bit cpus from to [X86] Enable the post-RA-scheduler for 32-bit cpus.
Apr 14 2016, 4:11 PM

Apr 1 2016

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Unfortunately the tuning I had planned in isFormingBranchFromSelectProfitable is no longer applicable.
The relevant heuristic was the "load feeding compare", which I intended to relax a bit.
Per discussions in other code reviews in that area (I don't have the number off hand, but maybe
related to D16836 and D17288), that heurstic has been deleted altogether, and there seemed to be a
general consensus to move this transformation into the target.

Apr 1 2016, 1:41 PM

Feb 17 2016

mbodart added a comment to D16836: [CodeGenPrepare] Remove load-based heuristic.

I'm looking into resurrecting the nonlocal dead store elimination in http://reviews.llvm.org/D13363,
but one of the snags is a performance issue related to select-vs-branch choices. That change enables
more selects, which unfortunately incur a 10 to 20% perf drop on some benchmarks in the EEMBC automotive
suite, on various X86 architectures.

Feb 17 2016, 3:59 PM
mbodart updated subscribers of D16836: [CodeGenPrepare] Remove load-based heuristic.
Feb 17 2016, 3:37 PM
mbodart committed rL261104: Fix some erroneous lit test failures due to unlucky name of working directory..
Fix some erroneous lit test failures due to unlucky name of working directory.
Feb 17 2016, 8:39 AM
mbodart closed D17044: Prevent some erroneous lit test failures due to unlucky name of working directory by committing rL261104: Fix some erroneous lit test failures due to unlucky name of working directory..
Feb 17 2016, 8:39 AM

Feb 16 2016

mbodart updated the diff for D17044: Prevent some erroneous lit test failures due to unlucky name of working directory.

Added individual CHECK-LABEL's per function, per review feedback.

Feb 16 2016, 4:13 PM
mbodart added a comment to D17044: Prevent some erroneous lit test failures due to unlucky name of working directory.

Ping?

Feb 16 2016, 11:07 AM

Feb 9 2016

mbodart retitled D17044: Prevent some erroneous lit test failures due to unlucky name of working directory from to Prevent some erroneous lit test failures due to unlucky name of working directory.
Feb 9 2016, 2:56 PM

Feb 4 2016

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Hi Ivan,

Feb 4 2016, 1:45 PM

Jan 28 2016

mbodart committed rL259057: [X86] Test commit, fixed typos in comments. NFC..
[X86] Test commit, fixed typos in comments. NFC.
Jan 28 2016, 8:45 AM

Jan 22 2016

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

I have a resolution for the issue causing bot timeouts,
as well as one unrelated fix for irreducible control flow.
Fortunately both fixes are trivial. Details below.

Jan 22 2016, 2:09 PM

Jan 21 2016

mbodart added a comment to D16137: AVX512: VMOVDQU8/16/32/64 (load) intrinsic implementation..

Thanks for the explanations (and patience)!

Jan 21 2016, 2:08 PM

Jan 19 2016

mbodart added a comment to D16137: AVX512: VMOVDQU8/16/32/64 (load) intrinsic implementation..

Oops! Thanks for pointing that out Asaf.

Jan 19 2016, 9:54 AM
mbodart added a comment to D16137: AVX512: VMOVDQU8/16/32/64 (load) intrinsic implementation..

Hi Asaf,

Jan 19 2016, 9:03 AM

Jan 14 2016

mbodart added a comment to D16137: AVX512: VMOVDQU8/16/32/64 (load) intrinsic implementation..

I'm not sure I understand why this is just now becoming an issue.

Jan 14 2016, 3:33 PM

Jan 8 2016

mbodart added a comment to D15946: Optimized instruction sequence for sitofp operation on X86-32.

Hi Elena,

Jan 8 2016, 3:23 PM

Jan 5 2016

mbodart updated subscribers of D15537: limit the number of instructions per block examined by dead store elimination.
Jan 5 2016, 4:39 PM

Dec 14 2015

mbodart added a comment to D13633: Type legalizer for masked gather/scatter intrinsics.

Hi Elena,

Dec 14 2015, 5:40 PM

Dec 2 2015

mbodart added inline comments to D13633: Type legalizer for masked gather/scatter intrinsics.
Dec 2 2015, 5:06 PM

Dec 1 2015

mbodart added a comment to D13633: Type legalizer for masked gather/scatter intrinsics.

Hi Elena,

Dec 1 2015, 5:41 PM

Nov 20 2015

mbodart added a comment to D14815: AVX-512: INSERT_SUBVECTOR optimization for i1 vectors.

Hi Elena,

Nov 20 2015, 12:33 PM

Nov 19 2015

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Thanks Ivan!

Nov 19 2015, 5:29 PM
mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Hi Ivan,

Nov 19 2015, 3:02 PM

Nov 9 2015

mbodart added a comment to D14495: [X86] Do not try to custom-lower sitofp/fptosi in soft-float mode.

The changes look good, but I have a couple questions on the requirements of soft float support.

Nov 9 2015, 10:45 AM

Nov 6 2015

mbodart added inline comments to D13633: Type legalizer for masked gather/scatter intrinsics.
Nov 6 2015, 4:04 PM

Nov 5 2015

mbodart added inline comments to D13363: [DeadStoreElimination] Add support for non-local DSE.
Nov 5 2015, 5:30 PM

Nov 3 2015

mbodart added inline comments to D13363: [DeadStoreElimination] Add support for non-local DSE.
Nov 3 2015, 11:52 AM
mbodart added inline comments to D13633: Type legalizer for masked gather/scatter intrinsics.
Nov 3 2015, 9:58 AM

Nov 2 2015

mbodart added a comment to D14214: [X86] DAGCombine should not introduce FILD in soft-float mode.

LGTM

Nov 2 2015, 10:39 AM

Oct 30 2015

mbodart added inline comments to D13363: [DeadStoreElimination] Add support for non-local DSE.
Oct 30 2015, 3:03 PM

Oct 29 2015

mbodart added inline comments to D13633: Type legalizer for masked gather/scatter intrinsics.
Oct 29 2015, 1:43 PM
mbodart updated subscribers of D13633: Type legalizer for masked gather/scatter intrinsics.
Oct 29 2015, 8:53 AM

Oct 27 2015

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

Hi Ivan,

Oct 27 2015, 5:11 PM

Oct 22 2015

mbodart added inline comments to D13363: [DeadStoreElimination] Add support for non-local DSE.
Oct 22 2015, 12:43 PM

Oct 15 2015

mbodart retitled D13780: [X86] Fix assertion failure with fp128 to unsigned i64 conversion from to [X86] Fix assertion failure with fp128 to unsigned i64 conversion.
Oct 15 2015, 12:35 PM

Oct 13 2015

mbodart added a comment to D13363: [DeadStoreElimination] Add support for non-local DSE.

In general I think your approach of using a reverse CFG search for this optimization is appropriate. But as Erik points out it doesn't handle if-then-else.
That can be addressed relatively easily:

Oct 13 2015, 3:59 PM

Oct 1 2015

mbodart updated subscribers of D13363: [DeadStoreElimination] Add support for non-local DSE.
Oct 1 2015, 3:02 PM

Sep 2 2015

mbodart added inline comments to D12372: [X86] Fix sitofp and uitofp instruction matching failures with long double and avx512.
Sep 2 2015, 9:44 AM

Sep 1 2015

mbodart added inline comments to D12372: [X86] Fix sitofp and uitofp instruction matching failures with long double and avx512.
Sep 1 2015, 9:23 AM

Aug 31 2015

mbodart added a comment to D12099: Fix FREM on 32-bit MSVC on x86.

Hi Dylan,

Aug 31 2015, 4:38 PM

Aug 26 2015

mbodart retitled D12372: [X86] Fix sitofp and uitofp instruction matching failures with long double and avx512 from to [X86] Fix sitofp and uitofp instruction matching failures with long double and avx512.
Aug 26 2015, 11:00 AM

Aug 19 2015

mbodart added inline comments to D12136: [X86] Emit more efficient >= comparisons against 0.
Aug 19 2015, 1:26 PM
mbodart added inline comments to D12136: [X86] Emit more efficient >= comparisons against 0.
Aug 19 2015, 10:28 AM
mbodart added inline comments to D12136: [X86] Emit more efficient >= comparisons against 0.
Aug 19 2015, 9:53 AM
mbodart updated subscribers of D12136: [X86] Emit more efficient >= comparisons against 0.
Aug 19 2015, 9:32 AM

Aug 18 2015

mbodart added inline comments to D12099: Fix FREM on 32-bit MSVC on x86.
Aug 18 2015, 8:24 AM
mbodart updated subscribers of D12099: Fix FREM on 32-bit MSVC on x86.
Aug 18 2015, 8:21 AM

Aug 17 2015

mbodart updated the diff for D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).

Updated new test to use -mattr instead of -mcpu, per MK's recommendation.

Aug 17 2015, 10:33 AM

Aug 10 2015

mbodart added inline comments to D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).
Aug 10 2015, 5:41 PM
mbodart updated the diff for D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).

Applied fixes for David's recent comments (using ANY_EXTEND, and formatting).

Aug 10 2015, 5:38 PM
mbodart updated the diff for D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).

I uploaded a new revision, removing all usage of isTargetFTOL and isIntegerTypeFTOL, which I think is sufficient for this change set. I left the WIN_FTOL instructions, as conceivably those could still be used for conversion to signed int64, though they aren't currently.

Aug 10 2015, 11:31 AM

Aug 2 2015

mbodart added inline comments to D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).
Aug 2 2015, 10:21 PM

Jul 30 2015

mbodart added reviewers for D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness): nadav, mkuper.

Per Michael Spencer's suggestion, added Nadav as a reviewer.

Jul 30 2015, 9:37 AM

Jul 27 2015

mbodart added a comment to D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).

Hi Michael,

Jul 27 2015, 11:43 AM

Jul 21 2015

mbodart added a reviewer for D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness): Bigcheese.
Jul 21 2015, 8:05 AM

Jul 17 2015

mbodart retitled D11316: [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness) from to [X86] -- Fix fptoui i64 conversions for IA32 (performance and correctness).
Jul 17 2015, 4:30 PM