-
In binja-hexagon I'm translating instruction semantics from C to LLIL, see design doc for details. One thing that I've found frustrating is translating C's ternary expressions ("y = c ? a : b") without using LLIL's if-statements. For instance, this is how I ended up implementing
Or
I think it would be really useful to have a conditional move ExprId in LLIL. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Though this would be nice for those writing architecture plugins this would complicate backend analysis more than we'd like. So unfortunately we're not likely going to be implementing this. Thanks for the suggestion though :) |
Beta Was this translation helpful? Give feedback.
-
Is the 'intended' way of implementing such semantics to use branches? I'm working on lifting for a similar architecture and some functions end up extremely branch-heavy in the absence of a ternary/select/cmov instruction. |
Beta Was this translation helpful? Give feedback.
Though this would be nice for those writing architecture plugins this would complicate backend analysis more than we'd like. So unfortunately we're not likely going to be implementing this. Thanks for the suggestion though :)