- Oct 07, 2011
-
-
Craig Topper authored
Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine. llvm-svn: 141353
-
Bill Wendling authored
llvm-svn: 141342
-
Bill Wendling authored
others. They take the call site value. Determine if it's a proper value. And then jumps to the correct call site via a jump table. llvm-svn: 141341
-
Owen Anderson authored
Fix the check for nested IT instructions in the disassembler. We need to perform the check before adding the Thumb predicate, which pops on entry off the ITBlock queue. llvm-svn: 141339
-
Eli Friedman authored
llvm-svn: 141333
-
Bill Wendling authored
llvm-svn: 141327
-
Bill Wendling authored
llvm-svn: 141323
-
- Oct 06, 2011
-
-
Bill Wendling authored
Place the immediate to OR into a register so that it works. llvm-svn: 141319
-
Bill Wendling authored
* Some code cleanup. llvm-svn: 141317
-
David Greene authored
Fix VarListElementInit::resolveListElementReference to return a partially resolved VarListElementInint in the case where full resolution is not possible. This allows TableGen to make forward progress resolving certain complex list expressions. llvm-svn: 141315
-
Matt Beaumont-Gay authored
llvm-svn: 141313
-
Justin Holewinski authored
llvm-svn: 141306
-
Benjamin Kramer authored
llvm-svn: 141305
-
Benjamin Kramer authored
llvm-svn: 141299
-
David Greene authored
Compare the entire keyword string. llvm-svn: 141295
-
Torok Edwin authored
They are not in sync now, for example Bitcast would show up as LLVMCall. So instead introduce 2 functions that map to and from the opcodes in the C bindings. llvm-svn: 141290
-
Torok Edwin authored
llvm-svn: 141288
-
Torok Edwin authored
llvm-svn: 141287
-
Torok Edwin authored
llvm-svn: 141286
-
Torok Edwin authored
llvm-svn: 141285
-
Craig Topper authored
Fix assembling of xchg %eax, %eax to not use the NOP encoding of 0x90. This was done by creating a new register group that excludes AX registers. Fixes PR10345. Also added aliases for flipping the order of the operands of xchg <reg>, %eax. llvm-svn: 141274
-
Peter Collingbourne authored
llvm-svn: 141266
-
Bill Wendling authored
to an infinite loop because of the def-use chains. Also use a frame load instead of store for the LD instruction. llvm-svn: 141263
-
Cameron Zwarich authored
llvm-svn: 141248
-
Cameron Zwarich authored
merging an lsl #2 that has multiple uses on A9. This shift is free, so there is no problem merging it in multiple places. Other unprofitable shifts will not be merged. llvm-svn: 141247
-
Bill Wendling authored
number (18) for the proper addressing mode. llvm-svn: 141245
-
David Greene authored
For consistency, prefix multiclass template arg names with the multiclass name followed by "::" to avoid name clashes among multiclass arguments and other entities in the multiclass. llvm-svn: 141239
-
David Greene authored
Process each multidef declared in a multiclass. Iterate through the list and instantiate a def in the multiclass for each item, resolving the list item to the temporary iterator (possibly) used in the multidef ObjectBody. We then process each generated def in the normal way. llvm-svn: 141233
-
David Greene authored
Add parser support to recognize multidefs. No processing on the multidef is done at this point. The grammar is: MultiDef = MULTIDEF ObjectName < Value, Declaration, Value > ObjectBody The first Value must be resolveable to a list and the second Value must be resolveable to an integer. The Declaration is a temporary value used as an iterator to refer to list items during processing. It may be passed into the ObjectBody where it will be substituted with the list value used to instantiate each def. llvm-svn: 141232
-
David Greene authored
Add keyword support for multidefs. llvm-svn: 141231
-
David Greene authored
Move the code to instantiate a multiclass def, bind its arguments and resolve its members into three helper functions. These will be reused to support a new kind of multiclass def: a multidef. llvm-svn: 141229
-
Eli Friedman authored
While I'm here, fix the related issue with strncmp, add some actual tests for strcmp and strncmp, and start using StringRef::compare for constant folding instead of using strcmp/strncmp so that the optimized IR isn't dependent on the host's implementation of strcmp. llvm-svn: 141227
-
Bill Wendling authored
site. llvm-svn: 141226
-
Bill Wendling authored
to the landing pad. This will be used by the back-end to generate the jump tables for dispatching the arriving longjmp in sjlj eh. llvm-svn: 141224
-
Bill Wendling authored
llvm-svn: 141221
-
Jakob Stoklund Olesen authored
PhysReg operands are not allowed to have sub-register indices at all. For virtual registers with sub-reg indices, check that all registers in the register class support the sub-reg index. llvm-svn: 141220
-
Andrew Trick authored
llvm-svn: 141219
-
Bill Wendling authored
llvm-svn: 141218
-
- Oct 05, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 141214
-
Jim Grosbach authored
Just pull the instruction name, but don't change the order of anything else. That keeps --debug happy and non-crashing, but doesn't change how the worklist gets built. llvm-svn: 141210
-