aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2013-04-05 16:28:55 +0000
committerChad Rosier <mcrosier@apple.com>2013-04-05 16:28:55 +0000
commit4a7005e976d7ce9cac9cd347aff2b9964e68a23c (patch)
treefb72f9ec01f072f240af901c7cb46e0d6475c97b /lldb/scripts/Python
parentbd39f2133665aa15d9e3f630be85ba7a756dc492 (diff)
downloadllvm-4a7005e976d7ce9cac9cd347aff2b9964e68a23c.zip
llvm-4a7005e976d7ce9cac9cd347aff2b9964e68a23c.tar.gz
llvm-4a7005e976d7ce9cac9cd347aff2b9964e68a23c.tar.bz2
[ms-inline asm] Add support for numeric displacement expressions in bracketed
memory operands. Essentially, this layers an infix calculator on top of the parsing state machine. The scale on the index register is still expected to be an immediate __asm mov eax, [eax + ebx*4] and will not work with more complex expressions. For example, __asm mov eax, [eax + ebx*(2*2)] The plus and minus binary operators assume the numeric value of a register is zero so as to not change the displacement. Register operands should never be an operand for a multiply or divide operation; the scale*indexreg expression is always replaced with a zero on the operand stack to prevent such a case. rdar://13521380 llvm-svn: 178881
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions