- Jan 15, 2010
-
-
Jim Grosbach authored
llvm-svn: 93480
-
Jim Grosbach authored
EmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. EmitAtomicBinary() already does this. llvm-svn: 93479
-
Jeffrey Yasskin authored
JITTest.FunctionIsRecompiledAndRelinked.) llvm-svn: 93475
-
Eric Christopher authored
commit. llvm-svn: 93473
-
- Jan 14, 2010
-
-
Johnny Chen authored
the disassembler can properly decode Load/Store register/immediate instructions. llvm-svn: 93471
-
Chris Lattner authored
the default implementation returns "unknown". llvm-svn: 93470
-
Chris Lattner authored
the new ParseInstruction method just parses and returns a list of target operands. A new MatchInstruction interface is used to turn the operand list into an MCInst. This requires new/deleting all the operands, but it also gives targets the ability to use polymorphic operands if they want to. llvm-svn: 93469
-
Anton Korobeynikov authored
llvm-svn: 93468
-
Anton Korobeynikov authored
llvm-svn: 93467
-
Dale Johannesen authored
llvm-svn: 93463
-
Eric Christopher authored
llvm-svn: 93462
-
Jim Grosbach authored
llvm-svn: 93459
-
Chris Lattner authored
Pass in SMLoc of instr opcode into ParseInstruction. Make AsmToken be a class, not a struct. llvm-svn: 93457
-
Jim Grosbach authored
catch info can get misplaced when a selector ends up more than one block removed from the parent invoke(s). This could happen when a landing pad is shared by multiple invokes and is also a target of a normal edge from elsewhere. llvm-svn: 93456
-
Chris Lattner authored
llvm-svn: 93455
-
Chris Lattner authored
llvm-svn: 93454
-
Evan Cheng authored
llvm-svn: 93453
-
Anton Korobeynikov authored
Patch by Diego Iastrubni! llvm-svn: 93450
-
Victor Hernandez authored
llvm-svn: 93449
-
Eric Christopher authored
and frequently optimized functions. llvm-svn: 93448
-
Victor Hernandez authored
llvm-svn: 93446
-
Victor Hernandez authored
Avoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD to write based on the function currently being written llvm-svn: 93441
-
Jakob Stoklund Olesen authored
This is consistent with llvm-gcc's arm/constraints.md. Certain instructions (e.g. CBZ, CBNZ) require a low register, even in Thumb2 mode. llvm-svn: 93436
-
Bill Wendling authored
llvm-svn: 93423
-
Dan Gohman authored
llvm-svn: 93417
-
Evan Cheng authored
llvm-svn: 93410
-
Victor Hernandez authored
llvm-svn: 93408
-
Victor Hernandez authored
Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly support function-local metadata, test it. llvm-svn: 93406
-
Victor Hernandez authored
In WriteFunction(), write function-local metadata before we write the instructions, so instruction's references to metadata are fully resolved by the time they get written. llvm-svn: 93403
-
Victor Hernandez authored
llvm-svn: 93402
-
Victor Hernandez authored
llvm-svn: 93401
-
Victor Hernandez authored
Add MDNode::getFunction(), which figures out the metadata's function, if it has function that it is local to. llvm-svn: 93400
-
Jakob Stoklund Olesen authored
An unaligned ldr causes a trap, and is then emulated by the kernel with awesome performance. The darwin kernel does not emulate unaligned ldm/stm Thumb2 instructions, so don't generate them. This fixes the miscompilation of Multisource/Applications/JM/lencod for Thumb2. Generating unaligned ldr/str pairs from a 16-bit aligned memcpy is probably also a bad idea, but that is beyond the scope of this patch. llvm-svn: 93393
-
Stuart Hastings authored
llvm-svn: 93381
-
Stuart Hastings authored
llvm-svn: 93380
-
Chris Lattner authored
llvm-svn: 93373
-
Chris Lattner authored
llvm-svn: 93372
-
Bill Wendling authored
added to the FSub version. However, the original version of this xform guarded against doing this for floating point (!Op0->getType()->isFPOrFPVector()). This is causing LLVM to perform incorrect xforms for code like: void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){ double mh, ml; double c = 134217729.0; double up, u1, u2, vp, v1, v2; up = xh*c; u1 = (xh - up) + up; u2 = xh - u1; vp = yh*c; v1 = (yh - vp) + vp; v2 = yh - v1; mh = xh*yh; ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2); ml += xh*yl + xl*yh; *rhi = mh + ml; *rlo = (mh - (*rhi)) + ml; } The last line was optimized away, but rl is intended to be the difference between the infinitely precise result of mh + ml and after it has been rounded to double precision. llvm-svn: 93369
-
- Jan 13, 2010
-
-
Tobias Grosser authored
Get the source BB of an iterator. llvm-svn: 93364
-
Tobias Grosser authored
Implement most of the missing methods to make SuccIterator random access. operator[] is still missing. llvm-svn: 93363
-