[PATCH] D60601: [DAGCombiner] Exploiting more about the transformation of TransformFPLoadStorePair function

Zixuan Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 1 19:56:49 PDT 2019


wuzish marked an inline comment as done.
wuzish added inline comments.


================
Comment at: llvm/test/CodeGen/ARM/ldst-f32-2-i32.ll:57
+
+; CHECK-LABEL: _test:
+; CHECK: ldr r3, [pc, r3]
----------------
wuzish wrote:
> jsji wrote:
> > wuzish wrote:
> > > lebedev.ri wrote:
> > > > wuzish wrote:
> > > > > lebedev.ri wrote:
> > > > > > steven.zhang wrote:
> > > > > > > wuzish wrote:
> > > > > > > > xbolva00 wrote:
> > > > > > > > > Can you please remove test checks and regenerate them using update_llc_tests_checks.py script before you commit this patch ?
> > > > > > > > > Thanks.
> > > > > > > > I am afraid that -mtriple of darwin is not supported in update_llc_tests_checks.py after I try, and we just write checks manually.
> > > > > > > Maybe, you can fix it as this patch did for darwin triple. https://reviews.llvm.org/D63723
> > > > > > What @steven.zhang said, let's just add the support there :)
> > > > > > I'd suggest to first try `'armv7-apple-darwin' : (scrub_asm_arm_eabi, ASM_FUNCTION_AARCH64_DARWIN_RE),`
> > > > > > how does that look?
> > > > > I have test all ASM_FUNCTION about AARCH64 and ARM, all of them don't work. I am afraid it's not among them. Need write a new regular expression.
> > > > So as per https://godbolt.org/z/Z9JT6W the structure is:
> > > > ```
> > > >         .globl  _test                   @ -- Begin function test
> > > >         .p2align        2
> > > >         .code   32                      @ @test
> > > > _test:
> > > > <body>
> > > >                                         @ -- End function
> > > > ```
> > > > I haven't tried but i think it should be roughly this:
> > > > ```
> > > > ASM_FUNCTION_ARM_DARWIN_RE = re.compile(
> > > >      r'^[ \t]*\.globl[ \t]*_(?P<func>)[ \t]*@[ \t]--[ \t]Begin[ \t]function[ \t](?P=func)',
> > > >      r'^_(?P=func):'
> > > >      r'(?P<body>.*?)'
> > > >      r'^[ \t]*@[ \t]--[ \t]End[ \t]function',
> > > >      flags=(re.M | re.S))
> > > > ```
> > > It doesn't work.
> > I made a fix in https://reviews.llvm.org/D63939, you can review and try it.
> Thank you for your fixing.
After I tried, it can not solve my added function. I would commit it firstly. Thank you.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60601/new/

https://reviews.llvm.org/D60601





More information about the llvm-commits mailing list