Displaying 4 results from an estimated 4 matches for "swifterror".
2018 Jan 05
0
Question about reg2mem
Greetings,
Lately I have been experimenting on using Obfuscator-llvm on swiftc
bitcode file. During the process of applying the Bogus Control Flow
function pass I encountered the following error:
swifterror value should be the second operand when used by stores
%33 = alloca swifterror %swift.error*, align 8
store %swift.error** %33, %swift.error*** %.reg2mem21
swifterror argument should come from an alloca or parameter
%.reload25 = load volatile %swift.error**, %swift.error*** %.reg2mem21
call...
2016 Mar 02
9
RFC: Implementing the Swift calling convention in LLVM and Clang
...he value in the callee. The best way we could think of to represent this was to pretend that the argument is actually passed indirectly; the value is “passed” by storing to the pointer and “received” by loading from it. To simplify backend lowering, we require the argument to be a special kind of swifterror alloca that can only be loaded, stored, and passed as a swifterror argument; in the callee, swifterror arguments have similar restrictions. This ends up being fairly invasive in the backend, unfortunately.
The convention also requires a few changes to the targets that support the convention, to d...
2020 Sep 01
2
[RFC] Framework for Finding and Using Similarity at the IR Level
...DebugInfo: Makes sure that debug info is consistent for outlined functions.
IROutliner Cost Model: Adds a cost model, so that reductions are prioritized rather than what comes first in terms of sheer code size outlined.
IROutliner with OptRemarks: Adding OptRemarks to the outliner.
IROutliner with SwiftError: Adding support for swifterror outlined parameters
IROutliner with LinkOnceODR: Adding flag to outline from LinkOnceODR functions.
Any feedback, comments, and discussion are welcome and appreciated!
Thank You,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL:...
2016 Mar 02
5
RFC: Implementing the Swift calling convention in LLVM and Clang
...he value in the callee. The best way we could think of to represent this was to pretend that the argument is actually passed indirectly; the value is “passed” by storing to the pointer and “received” by loading from it. To simplify backend lowering, we require the argument to be a special kind of swifterror alloca that can only be loaded, stored, and passed as a swifterror argument; in the callee, swifterror arguments have similar restrictions. This ends up being fairly invasive in the backend, unfortunately.
>
> I think this logic is too high-level for the back-end to deal with.
> This loo...