aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/swift.js
diff options
context:
space:
mode:
authorMatt Godbolt <matt@godbolt.org>2021-07-22 14:12:54 -0500
committerGitHub <noreply@github.com>2021-07-22 14:12:54 -0500
commitd52a1318f8481ded61c1929d1e5798972f40cc02 (patch)
tree5f5b8abf7ef841f76f18ac825a410ac15c20dc05 /lib/compilers/swift.js
parent89d629f2d76b3feaed59d653d24a23ae7787f489 (diff)
downloadcompiler-explorer-d52a1318f8481ded61c1929d1e5798972f40cc02.tar.gz
compiler-explorer-d52a1318f8481ded61c1929d1e5798972f40cc02.zip
Treat data definitions in the middle of functions as "strong" (#2792)
* Treat data definitions in the middle of functions as "strong" Things like ARM jump tables put important data inline within a function. Such data should be treated as a "strong" reference (e.g. a root use). For example: ``` sub r3, r0, #65 cmp r3, #19 ldrls pc, [pc, r3, asl #2] b .L7 .word .L8 .word .L7 .word .L6 .word .L7 ....etc... .L7: some things .L8: some other things ``` Without this change, the `.L8` label would be dropped as unused. But it's implicitly used by the sequence of `.word`s in the middle of the function. Closes #2788 * Keep curly bracket style of existing if-else block Co-authored-by: RabsRincon <ruben@rinconblanco.es>
Diffstat (limited to 'lib/compilers/swift.js')
0 files changed, 0 insertions, 0 deletions