- User Since
- Apr 21 2014, 4:27 PM (428 w, 1 d)
Jun 1 2022
May 30 2022
May 28 2022
Closing in favor of https://reviews.llvm.org/D125611.
May 26 2022
May 25 2022
Changed type of M.
May 22 2022
If we decide that this is the way to go, I'll add the other functions.
May 18 2022
Changed the copy to a deep one.
This is a shallow copy. Let me change it to a deep one.
May 17 2022
May 14 2022
Proposed workaround: https://reviews.llvm.org/D125611.
May 13 2022
May 10 2022
Here's more info:
$ c++ --version FreeBSD clang version 13.0.0 (firstname.lastname@example.org:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) Target: x86_64-unknown-freebsd13.0 Thread model: posix InstalledDir: /usr/bin
May 9 2022
This is on FreeBSD 13-STABLE, which I think uses clang 13. It's on my home computer, I'll check the details when I get home.
May 8 2022
Use the proper diff file this time.
Replace the direct storage class examination with hasLocalStorage.
May 7 2022
This fails to compile:
May 6 2022
I'm not questioning the splitting, I'm just wondering if the terminology could be more self-explanatory. In AsmPrinter there is a check that an address-taken block must actually be present, but that's a hard requirement really only when there is a branch to it. So I was thinking that maybe "isIndirectBranchTarget" could be a better name, but I wasn't sure if it captured the intent.
This is great. I think there is an unaddressed comment, but otherwise LGTM.
The IR spec states that the value of blockaddress can only be used in an indirect branch/call, or in a comparison against null. The latter seems to fall under the "address materialized somewhere" that you mention in the referenced review. Is the motivation behind BlockAddressTarget to identify blocks that are targets of indirect branches? Otherwise, it's not clear to me why blockaddress(bb) == null is any different from storing the address of bb in an exception table, for example.
Apr 22 2022
Apr 20 2022
Mar 14 2022
The Hexagon part looks ok.