You can just call me "Min"
- User Since
- Sep 1 2017, 5:24 AM (289 w, 3 d)
Thu, Mar 9
I believe we also write tests for timeout bugs, for instance https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/InstCombine/phi-timeout.ll. Could you also add one?
Wed, Mar 8
Tue, Feb 28
Fri, Feb 24
Thu, Feb 23
I think this patch generally LGTM. But I would love to know if plugin support or third-party extension in general is part of your roadmap, if that's the case...
FIXME: This may be move to llvm/include/llvm/TableGen/Main.h
Mon, Feb 20
Feb 16 2023
just wondering if there is any reason you chose not to implement this as a subtarget feature?
Feb 14 2023
LGTM with minor suggestions
Feb 12 2023
Feb 9 2023
I believe some tests are missing like those related to bytecode. Also could you attach diff with more context as instructed here.
My Phab handle is different from my Discourse account
Feb 8 2023
Feb 7 2023
Feb 5 2023
just skimmed through the patch but I think either ISelLowering (in which case you probably don't need the custom ISD) or the pseudo instruction expanding Pass will be a better place to put the main logics, rather than AsmPrinter.
Feb 3 2023
LGTM on 68k part
Jan 30 2023
Let us know if you need helps pushing the patching
Jan 29 2023
LGTM thanks :-)
Could you add a test (not a multi-line one, just a pipeline string with white spaces) in test/Pass/pipeline-parsing.mlir as well? It should be easy
Jan 25 2023
Jan 24 2023
LGTM, thank you for creating this tutorial! As I also mentioned in our previous email communication, I think this really helps the broader community including beginners to learn TableGen programming.
Jan 22 2023
- Pull getCustomCoders out of anonymous namespace
- Report a fatal error if a encoder or decoder directive is not followed by a function name.
Jan 21 2023
Jan 19 2023
You can use llvm::SetVector if elements need to be unique
Jan 18 2023
Jan 9 2023
Dec 28 2022
Dec 27 2022
Nov 21 2022
I just quickly tried this with /W3 on MSVC 2019 and the warning no longer appears. Cheers
Nov 17 2022
I think you'd addressed all errors from the buildbot failure.
Nov 14 2022
With this patch we need a custom decoder for 32-bit immediate value or disassembler won't be able to recognize the correct word ordering. I will add custom decoder support for variable length instruction in separate patches.
Nov 12 2022
Nov 10 2022
Nov 8 2022
LGTM thank you! Please also include cmpxchg and rmw in the title.
Nov 7 2022
I only have minor comments. Otherwise LGTM. Cheers :-)
Nov 5 2022
I read your patch descriptions with great interest and kudos on listing all cases. I generally agree with your instrument comment / analysis region. I think it's the most practical solution we have for now and also opens a door for creating other kinds of MCA extensions in the future.
Nov 4 2022
I think the patch is in good shape now. I only have some minor comments. Thanks for the works :-)
Nov 3 2022
Nov 1 2022
Let me try to answer most of the questions at once. But first, here is the workflow I would do:
- For 68020 and later, setMaxAtomicSizeInBitsSupported(32) and setMaxAtomicSizeInBitsSupported(0) otherwise. AtomicExpandPass then replaces everything not in the size ranges with __atomic_*.
- AtomicLoad, AtomicStore and AtomicCmpXchg in target >= 68020 will be lowered to native instructions.
- Mark every other ISD::ATOMIC_* as LibCall, this effectively lowers them into library calls to __sync_*.
Oct 30 2022
I think it makes sense to assume m68k always runs on uniprocessors. GCC / libgcc and m68k port of Linux also makes the same assumption. For instance, gcc simply lowers atomic fence into asm volatile("" ::: "memory") (meaning the only thing we need to do is preventing compiler from reordering across the fence).
Yes I was simply wondering if it's possible to update a single backend a time. Good to know now.
Oct 27 2022
I only skimmed through the patch but I found this pretty interesting. To my best understanding, you're trying to add another layer of abstraction between disassembler generation logics and the code printer. Such that downstream projects like Capstone only need to maintain a single printer code (e.g. PrinterCapston.cpp) rather than hundreds of lines of code spanning across DecoderEmitter.cpp. If this is the case, I strongly encourage you to upstream most of the stuff here except PrinterCapstone.cpp.
Oct 26 2022
Just some drive-by comments
Oct 25 2022
Oct 23 2022
Agree with @nikic . I think it will be better for this patch to have support for CmpXchg using CAS (for 68020 and later) and fallback to library solution for older CPUs.
Sep 27 2022
Sep 26 2022
Do not broadcast when the operand types are different
Sep 22 2022
Sep 21 2022
Sep 20 2022
Sep 14 2022
Sep 12 2022
Sep 10 2022
Thank you for fixing this bug!
As I mentioned in #57660, I feel like we should fix the assertion instead
Sep 3 2022
Aug 25 2022
typo in the title: std::bittest -> std::bitset
LGTM on 68k side.
Thanks for fixing.
Aug 16 2022
I don't think this is Clang-specific, could you update the title?
Jul 31 2022
Thank you! I only have some minor comments.