Go to file
Chad Rosier 4a7005e976 [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
2013-04-05 16:28:55 +00:00
clang Proper prefix for doxygen comments 2013-04-05 15:35:12 +00:00
clang-tools-extra lib-ified core cpp11-migrate functionality to support unit tests 2013-04-04 20:19:58 +00:00
compiler-rt [asan] make huge_negative_hea_oob more meaningful 2013-04-05 15:16:48 +00:00
debuginfo-tests Remove IR scenario tests. 2013-03-15 20:52:10 +00:00
libclc Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
libcxx More list debug mode tests. 2013-04-05 15:04:10 +00:00
libcxxabi Bruce Mitchener: Typo fixes. 2013-02-15 15:48:49 +00:00
lld [ELF][test] add dynamic library search 2013-04-05 04:34:57 +00:00
lldb Add support for Platform plugins to have settings. 2013-04-05 05:06:39 +00:00
llvm [ms-inline asm] Add support for numeric displacement expressions in bracketed 2013-04-05 16:28:55 +00:00
polly ScopDetection: Use isTopLevelRegion 2013-04-02 06:41:48 +00:00