Closed pupiles closed 3 years ago
Hi @pupiles,
This is probably related to #40? See https://github.com/llir/llvm/issues/198#issuecomment-884925570 for an explanation of what is most likely causing the issue.
I wish we may find a good solution for this, but at least for now, I have not yet found one. If you know any way to solve #40, please let us know :D
Happy wishes from Sweden.
Cheers, Robin
Hi @mewmew,
Thanks for your reply.
I wonder if there is a temporary solution to this issue,for the scenario where parsing the correct align position is not important.
Best Wishes, Pupiles
Hi @mewmew,
Thanks for your reply.
Hi @pupiles, you're most welcome :)
I wonder if there is a temporary solution to this issue,for the scenario where parsing the correct align position is not important.
Here is possible and very crude work-around. It strips away align NN
from function declarations and definitions, and call and invoke instructions.
go install -v github.com/mewkiz/cmd/sar@master
strip_ll.sh
:
FILE=$1
sar -i 'call align [0-9]+ ' 'call ' $FILE
sar -i 'define align [0-9]+ ' 'define ' $FILE
sar -i 'declare align [0-9]+ ' 'declare ' $FILE
sar -i 'invoke align [0-9]+ ' 'invoke ' $FILE
Running strip_ll.sh heck.ll
rewrites the heck.ll
file so that it can be parsed with llir/llvm
.
Parsing heck.ll
(with align stripped) using l-tm of llir/llvm
.
$ l-tm -v heck.ll
=== [ heck.ll ] =======================
total time for file "heck.ll": 165.866118ms
source_filename = "heck.e5goil5t-cgu.0"
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.7.0"
%"[closure@/Users/admin/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/heck-0.3.3/src/camel.rs:23:37: 23:43]" = type {}
...
Cheers, Robin
I'll close this as a duplicate of #40 for now. I do hope we find a good solution for #40 soon, as it comes up every now and then.
Happy coding! /robin
The codes above are ast parsed error when used
asm.ParseFile
becausealign 8
seems not supported when placed as the decorator of a function. Could you pass me some hints on that, really appreciate that. heck.ll.zip