Page MenuHomePhabricator

chrib (Christian Bruel)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 6 2017, 5:09 AM (123 w, 6 d)

Recent Activity

Mon, Jul 1

chrib abandoned D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..

the declaration from Bug #38309 currently generates

Mon, Jul 1, 2:19 AM · Restricted Project

Wed, Jun 26

chrib added a comment to D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..

Yes you are right, my idea was to avoid checking the non-cst index access for sub uses of the Value, in order to allow independent field GEP accesses to be candidate for SRA (for struct types(, but indeed just checking the first livel of ConstantExpr GEP might just be too complicated and I don't think that the inbound or inrange markers help here. (and multi-dimensional array GEP access would be inbound but wrong to SRA.

Wed, Jun 26, 3:34 AM · Restricted Project

Tue, Jun 25

chrib added a comment to D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..

I see. yes the fix is still there and I checked that this bug doesn't regresses.

Tue, Jun 25, 7:07 AM · Restricted Project
chrib retitled D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset. from [GlobalOpt] recognize dead struct fields and propagate values to [GlobalOpt] Allow dead struct fields in SRA with non constant offset..
Tue, Jun 25, 6:13 AM · Restricted Project
chrib updated the diff for D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..

This fix the regression with multiple GEP arrays by allowing SRA for GEP ConstantExpr even if it might use an instruction containing indirect offsets access. The GlobalValue fields can be scalarized if they have StructType and not ArrayType with possible out-of-bound.

Tue, Jun 25, 6:13 AM · Restricted Project

May 23 2019

chrib added a comment to D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..

looking at it. reverting in the meantime is fine

May 23 2019, 9:43 PM · Restricted Project

May 22 2019

chrib committed rG4a7da98bd928: [GlobalOpt] recognize dead struct fields and propagate values (authored by chrib).
[GlobalOpt] recognize dead struct fields and propagate values
May 22 2019, 10:54 PM
chrib committed rL361460: [GlobalOpt] recognize dead struct fields and propagate values.
[GlobalOpt] recognize dead struct fields and propagate values
May 22 2019, 10:54 PM
chrib closed D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..
May 22 2019, 10:54 PM · Restricted Project

May 20 2019

chrib added reviewers for D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset.: nicholas, jmolloy.
May 20 2019, 6:32 AM · Restricted Project

May 15 2019

chrib retitled D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset. from Improve GlobalOpt to recognize dead fields and propagate values to [GlobalOpt] recognize dead struct fields and propagate values.
May 15 2019, 6:11 AM · Restricted Project

May 14 2019

chrib updated the summary of D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..
May 14 2019, 11:06 AM · Restricted Project
chrib added reviewers for D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset.: greened, bkramer.
May 14 2019, 10:56 AM · Restricted Project
chrib updated the diff for D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..
  • Fix comment
May 14 2019, 10:43 AM · Restricted Project
chrib created D61911: [GlobalOpt] Allow dead struct fields in SRA with non constant offset..
May 14 2019, 10:36 AM · Restricted Project

Dec 5 2018

chrib committed rL348381: Allow norecurse attribute on functions that have debug infos..
Allow norecurse attribute on functions that have debug infos.
Dec 5 2018, 8:51 AM
chrib closed D55187: Allow norecurse attribute on functions that have debug infos..
Dec 5 2018, 8:50 AM
chrib added a comment to D53431: clang appears not to respect __attribute__((noinline)).

actually optnone is not well adapted here, since it demotes local optimizations on the functions, but we still want to keep scalar or target optimisations to be applied, but not interprocedural optimisations.

Dec 5 2018, 12:48 AM

Dec 4 2018

chrib updated the diff for D55187: Allow norecurse attribute on functions that have debug infos..

iterate with instructionsWithoutDebug
reduce testcase

Dec 4 2018, 8:12 AM
chrib added inline comments to D55187: Allow norecurse attribute on functions that have debug infos..
Dec 4 2018, 5:46 AM

Dec 3 2018

chrib retitled D55187: Allow norecurse attribute on functions that have debug infos. from debug intrinsics might be marked norecurse to enable the caller function to be maked and optimized if needed. This avoid code gen optimisation differences when -g is used, as in globalOpt.cpp:processInternalGlobal checks. to Set norecurse attribute on functions that have debug infos..
Dec 3 2018, 1:11 AM
chrib created D55187: Allow norecurse attribute on functions that have debug infos..
Dec 3 2018, 1:08 AM

Sep 26 2018

chrib added a reviewer for D52533: [test] Use --sysroot instead of -B in print-multi-directory.c: jroelofs.

Hi Martin,

Sep 26 2018, 6:19 AM

Sep 12 2018

chrib added a comment to rL341547: Fix the -print-multi-directory flag to print the selected multilib..

I earlier suggested matching InstalledDir as a way to set an "anchor" or marker that tells apart the output before it from the one after it. This way none of the forbidden patterns would be matched before the line InstalledDir (in my case a . appears in an URL causing the test to fail).

Sep 12 2018, 4:43 AM
chrib committed rL342031: Fix Check test to avoid output string mismatch.
Fix Check test to avoid output string mismatch
Sep 12 2018, 2:00 AM
chrib committed rC342031: Fix Check test to avoid output string mismatch.
Fix Check test to avoid output string mismatch
Sep 12 2018, 2:00 AM

Sep 10 2018

chrib added a comment to rL341547: Fix the -print-multi-directory flag to print the selected multilib..

on a second thought, "InstalledDir" only appears with -v, and is still too fragile (e.g if installed dir name also contains checked strings)

Sep 10 2018, 11:30 PM
chrib added a comment to rL341547: Fix the -print-multi-directory flag to print the selected multilib..

Hi Roger,

Sep 10 2018, 11:15 PM

Sep 6 2018

chrib added a comment to D51354: Fix the -print-multi-directory flag to print the selected multilib..

Re-commit patch at r341547 with modified test case to use an explicit root tree for libraries

Sep 6 2018, 7:07 AM
chrib committed rL341547: Fix the -print-multi-directory flag to print the selected multilib..
Fix the -print-multi-directory flag to print the selected multilib.
Sep 6 2018, 7:06 AM
chrib committed rC341547: Fix the -print-multi-directory flag to print the selected multilib..
Fix the -print-multi-directory flag to print the selected multilib.
Sep 6 2018, 7:06 AM

Sep 5 2018

chrib updated subscribers of D51354: Fix the -print-multi-directory flag to print the selected multilib..
Sep 5 2018, 4:39 AM

Sep 4 2018

chrib committed rL341373: Fix the -print-multi-directory flag to print the selected multilib..
Fix the -print-multi-directory flag to print the selected multilib.
Sep 4 2018, 8:25 AM
chrib committed rC341373: Fix the -print-multi-directory flag to print the selected multilib..
Fix the -print-multi-directory flag to print the selected multilib.
Sep 4 2018, 8:25 AM
chrib closed D51354: Fix the -print-multi-directory flag to print the selected multilib..
Sep 4 2018, 8:25 AM

Aug 28 2018

chrib added a comment to D51354: Fix the -print-multi-directory flag to print the selected multilib..

https://bugs.llvm.org/show_bug.cgi?id=21360

Aug 28 2018, 6:44 AM
chrib added a reviewer for D51354: Fix the -print-multi-directory flag to print the selected multilib.: jroelofs.
Aug 28 2018, 6:38 AM
chrib created D51354: Fix the -print-multi-directory flag to print the selected multilib..
Aug 28 2018, 6:30 AM

Apr 30 2018

chrib added a comment to D45814: Fix an assertion when -print-prog-name=.

Do you have commit access or do you need someone to commit this on your behalf?

Apr 30 2018, 12:22 AM

Apr 27 2018

chrib added a comment to D45814: Fix an assertion when -print-prog-name=.

Hi Saleem,

Apr 27 2018, 6:00 AM
chrib updated the diff for D45814: Fix an assertion when -print-prog-name=.

Move the non-null name check out of GetProgramPath and add a test case.

Apr 27 2018, 5:54 AM

Apr 20 2018

chrib added a reviewer for D45814: Fix an assertion when -print-prog-name=: mehdi_amini.
Apr 20 2018, 1:31 AM

Apr 19 2018

chrib updated the summary of D45814: Fix an assertion when -print-prog-name=.
Apr 19 2018, 6:44 AM
chrib retitled D45814: Fix an assertion when -print-prog-name= from Fix an assertion when -print-prog-name= is invoked without parameter. Returns an empty string. to Fix an assertion when -print-prog-name=.
Apr 19 2018, 6:31 AM
chrib created D45814: Fix an assertion when -print-prog-name=.
Apr 19 2018, 6:18 AM

Apr 17 2018

chrib added a reviewer for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI: rogfer01.
Apr 17 2018, 8:28 AM
chrib added a reviewer for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI: rogfer01.
Apr 17 2018, 8:27 AM

Feb 23 2018

chrib updated the diff for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.

The rebased llvm part, for ping.

Feb 23 2018, 2:40 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

damn it last diff was the llvm part (D31139). Here is the clang part.

Feb 23 2018, 2:35 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

hello, realizing that this has been stuck for a while now. did I answer all the concerns ? rebased patch,

Feb 23 2018, 2:18 AM

Sep 29 2017

chrib updated the diff for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.

Rebase. Update tests.

Sep 29 2017, 7:17 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

I realized that testing CCCisCXX for IsUnwindTablesDefault was not really good and useless here, because we cannot treat C as C++ mode. In fact only the file type matters, as seen in the tests.

Sep 29 2017, 7:14 AM

Sep 21 2017

chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Changes since last revision:

Sep 21 2017, 5:57 AM
chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

I didn't find an easy way factorize the change in IsUnwindTableDefault to support the multiple ARM toolchains. After a quick check in Triple::arm in Driver/Toochains, many seem impacted (excepted NetBSD and Darwin that uses DwarfCFI or SJLG). So here is an attempt to move this into a small arm hook and use.

Sep 21 2017, 5:47 AM

Sep 20 2017

chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

oops yes of course. I forgot some bits while switching from testing the arch to testing the platform.

Sep 20 2017, 1:30 AM

Sep 14 2017

chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Update IsUnwindTablesDefault to test fno-exceptions. (see Darwin.cpp)

Sep 14 2017, 12:51 AM
chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

OK, we can refine so that unwind-table is also not generated for C++ -fno-exceptions.

Sep 14 2017, 12:35 AM

Sep 11 2017

chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Hello Eli,

Sep 11 2017, 7:07 AM

Sep 8 2017

chrib updated the summary of D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.
Sep 8 2017, 6:28 AM
chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

forgot to give the motivating figure. this brings a code size reduction of 9.5 % (geomean of text sections sizes) on coremarkpro -Oz for cortex-m3 eabi

Sep 8 2017, 6:24 AM
chrib planned changes to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Yes, I also tried to look into this direction, but I did not find a clean way from the driver to emit the attribute based on codegen options and language. Also unwind-tables must not be the default for arm. (for C this is what I want to eliminate). In fact I haven't found an example of setting attributes in the driver. not sure it's even possible.

Sep 8 2017, 5:13 AM
chrib added a comment to D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.

I'm sort of concerned this introduces a subtle hole in the semantics of IR auto-upgrade... but I guess it's unlikely to matter.

Some bits of the patch have weird indentation; please clang-format C++ code.

Sep 8 2017, 2:12 AM

Sep 5 2017

chrib updated the diff for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.

Rebase and do not emit unwinder directives if not needed. Update tests accordingly.

Sep 5 2017, 6:25 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Rebase and cleanup NeedsUnwindTable for be variants.

Sep 5 2017, 6:20 AM

Jun 7 2017

chrib updated the diff for D31972: Do not force the frame pointer by default for ARM EABI.
  • do not omit the frame pointer for netbsd-eabi and darwin-eabi
Jun 7 2017, 2:23 AM
chrib added a comment to D31972: Do not force the frame pointer by default for ARM EABI.

OK, I have created a RFE tracker (BZ #32501). I will forward to cfe-dev.

Jun 7 2017, 2:17 AM

Jun 6 2017

chrib added inline comments to D31972: Do not force the frame pointer by default for ARM EABI.
Jun 6 2017, 4:57 AM
chrib updated the diff for D31972: Do not force the frame pointer by default for ARM EABI.
  • Merge branch 'master' of ssh://codex.cro.st.com/llvm-arm/clang
  • Don't need a frame pointer for EABIHF also (AAPCS)
Jun 6 2017, 4:48 AM

Jun 1 2017

chrib added inline comments to D31972: Do not force the frame pointer by default for ARM EABI.
Jun 1 2017, 1:00 AM

May 23 2017

chrib added a reviewer for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI: rafael.
May 23 2017, 12:49 AM
chrib added a reviewer for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI: joerg.
May 23 2017, 12:44 AM

Apr 21 2017

chrib added inline comments to D31972: Do not force the frame pointer by default for ARM EABI.
Apr 21 2017, 1:07 AM
chrib updated the diff for D31972: Do not force the frame pointer by default for ARM EABI.
  • Check not mdisable-fp-elim for arm eabi when optimizing
Apr 21 2017, 1:03 AM

Apr 20 2017

chrib updated the diff for D31972: Do not force the frame pointer by default for ARM EABI.
  • Fix thinko in test
Apr 20 2017, 7:44 AM
chrib updated the diff for D31972: Do not force the frame pointer by default for ARM EABI.

Updating D31972: Do not force the frame pointer by default for ARM EABI

#

Apr 20 2017, 6:31 AM

Apr 12 2017

chrib created D31972: Do not force the frame pointer by default for ARM EABI.
Apr 12 2017, 12:51 AM

Apr 6 2017

chrib updated the summary of D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
Apr 6 2017, 2:17 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.
  • NeedsUnwindTable check thumb arch
Apr 6 2017, 1:53 AM

Mar 31 2017

chrib updated the summary of D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
Mar 31 2017, 6:55 AM
chrib updated the diff for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
  1. Updating D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI #

Fix thinkos/typos.

Mar 31 2017, 6:50 AM
chrib updated the diff for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.
  1. Updating D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI #

Set UWTable if the language requires an exception table.
Conservatively only for ARM (necessary to emit the .cantunwind directive). But could probably be enabled for all targets.

Mar 31 2017, 6:34 AM
chrib added a child revision for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI: D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.
Mar 31 2017, 6:34 AM
chrib updated the diff for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
  1. Updating D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI #

Emit cantunwind directive if uwtable is set and the function cannot throw
Emit unwind table if uwtable is set

Mar 31 2017, 6:12 AM

Mar 28 2017

chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Yes we can enable cantunwind with the nothrow gcc attribute when exceptions are enabled
Forcing it when exceptions are not enabled (e.g for attribute cleanup) would require -funwind-tables at function level anyway

Mar 28 2017, 1:44 AM

Mar 21 2017

chrib added a comment to D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.

Can you clarify the logic here? It's my understanding that:

-fno-exceptions does *not* imply -fno-unwind-tables

however:

-fno-unwind-tables *does* imply that exceptions cannot be used on targets that require the tables to do unwinding.

Mar 21 2017, 12:53 PM
chrib added a reviewer for D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI: rengolin.
Mar 21 2017, 5:00 AM
chrib added a reviewer for D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI: rengolin.
Mar 21 2017, 4:59 AM
chrib retitled D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI from [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI to [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
Mar 21 2017, 1:35 AM

Mar 20 2017

chrib created D31140: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed in EHABI.
Mar 20 2017, 10:42 AM
chrib created D31139: [LLVMbugs] [Bug 18710] Only generate .ARM.exidx and .ARM.extab when needed with EHABI.
Mar 20 2017, 10:38 AM