summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert 93499. After discussion with Chris we agreedDale Johannesen2010-01-152-29/+0
| | | | | | | | | FrameIndexes should be lowered, but the same way as everything else (target dependent) rather than in a special hacked way. The lowering needs to be done for eventual purposes of Dwarf generation. llvm-svn: 93530
* add range location info for registers, change Chris Lattner2010-01-151-33/+42
| | | | | | | X86Operand::Create* implementations to avoid copy ctor use. llvm-svn: 93528
* Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.Nate Begeman2010-01-156-1549/+127
| | | | | | | | | Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer Further refactoring to completely remove MachOWriter and drive the object file writer with the AsmPrinter MCInst/MCSection logic is forthcoming. llvm-svn: 93527
* clean up the memory management of the operands.Chris Lattner2010-01-151-53/+52
| | | | llvm-svn: 93526
* refactor ParseRegister to avoid using X86Operand as a temporaryChris Lattner2010-01-151-15/+12
| | | | | | datastructure when parsing a mem operand. llvm-svn: 93521
* Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be ↵Victor Hernandez2010-01-153-26/+34
| | | | | | auto-upgraded llvm-svn: 93515
* Fix http://llvm.org/PR6028, an assertion failure when an UndefValue ofJay Foad2010-01-151-2/+16
| | | | | | integer type is used. llvm-svn: 93509
* Change pre-regalloc tail duplication to only duplicate indirect branch blocks.Bob Wilson2010-01-151-4/+11
| | | | | | | | | The pre-regalloc pass caused some regressions in both compile time and performance of the generated code, and it did not improve performance, except for indirect branches. I also moved the check for single-block loops to speed up the common case when running the taildup pass before reg allocation. llvm-svn: 93505
* Improve llvm.dbg.declare intrinsic by referring directly to the storage in ↵Victor Hernandez2010-01-153-34/+26
| | | | | | | | its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. llvm-svn: 93504
* Lower FrameIndex operand of DEBUG_VALUE (specially) andDale Johannesen2010-01-152-0/+29
| | | | | | print it as a comment on X86. llvm-svn: 93499
* Fix cmp emission on msp430: we definitely should turn stuff likeAnton Korobeynikov2010-01-152-25/+27
| | | | | | "icmp lhs, rhs" into "cmp rhs, lhs". This should fix PR5979. llvm-svn: 93496
* Do not use AT_specification die for static variables. It confuses gdb.Devang Patel2010-01-151-3/+6
| | | | llvm-svn: 93494
* fix 80-column violationsJim Grosbach2010-01-151-12/+14
| | | | llvm-svn: 93487
* Fix 80 column violations and clean up whitespaceJim Grosbach2010-01-151-5/+4
| | | | llvm-svn: 93484
* Do not emit multiple AT_container_type attributes. Devang Patel2010-01-151-1/+2
| | | | | | We need to find a better way to emit this info. llvm-svn: 93481
* Name change for consistency. No functional change.Jim Grosbach2010-01-151-7/+7
| | | | llvm-svn: 93480
* EmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. ↵Jim Grosbach2010-01-151-0/+3
| | | | | | EmitAtomicBinary() already does this. llvm-svn: 93479
* Teach PPC how to replaceMachineCodeForFunction correctly. (FixesJeffrey Yasskin2010-01-141-0/+2
| | | | | | JITTest.FunctionIsRecompiledAndRelinked.) llvm-svn: 93475
* Pad my commit stats by reducing indentation in this now separateEric Christopher2010-01-141-19/+20
| | | | | | commit. llvm-svn: 93473
* Added 16-bit Thumb Load/Store immediate instructions with encoding bits so thatJohnny Chen2010-01-141-0/+24
| | | | | | the disassembler can properly decode Load/Store register/immediate instructions. llvm-svn: 93471
* Split the TargetAsmParser "ParseInstruction" interface in half:Chris Lattner2010-01-142-38/+29
| | | | | | | | | | | 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
* Remove pseudo-MI in custom inserter.Anton Korobeynikov2010-01-141-0/+1
| | | | llvm-svn: 93467
* Fix a comment.Dale Johannesen2010-01-141-1/+1
| | | | llvm-svn: 93463
* Few minor changes that were requested. No functional change.Eric Christopher2010-01-141-2/+6
| | | | llvm-svn: 93462
* Add comment explaining the necessity of r93456Jim Grosbach2010-01-141-0/+5
| | | | llvm-svn: 93459
* prune #includes in TargetAsmParser.hChris Lattner2010-01-142-4/+8
| | | | | | | Pass in SMLoc of instr opcode into ParseInstruction. Make AsmToken be a class, not a struct. llvm-svn: 93457
* Dwarf EH prepare needs to be run after SjLj prepare. Otherwise,Jim Grosbach2010-01-141-1/+1
| | | | | | | | | 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
* introduce MCParsedAsmOperandChris Lattner2010-01-141-1/+2
| | | | llvm-svn: 93455
* introduce the MCParsedAsmOperand class.Chris Lattner2010-01-141-1/+2
| | | | llvm-svn: 93454
* Small tweak to inline cost computation. Ext of i/fcmp results are mostly ↵Evan Cheng2010-01-141-1/+6
| | | | | | optimized away in codegen. llvm-svn: 93453
* Remove spurious semicolon.Anton Korobeynikov2010-01-141-21/+21
| | | | | | Patch by Diego Iastrubni! llvm-svn: 93450
* In debug builds, assert that function-local metadata has only 1 parent functionVictor Hernandez2010-01-141-1/+30
| | | | llvm-svn: 93449
* Reduce the inlining cost of functions that contain calls to easily,Eric Christopher2010-01-141-1/+27
| | | | | | and frequently optimized functions. llvm-svn: 93448
* Simplify code that chooses when to enumerate function-local metadata operandsVictor Hernandez2010-01-142-29/+31
| | | | llvm-svn: 93446
* Avoid modifying ValueEnumerator's MD ValueList by choosing which ↵Victor Hernandez2010-01-142-17/+8
| | | | | | function-local MD to write based on the function currently being written llvm-svn: 93441
* ARM "l" constraint for inline asm means R0-R7, also for Thumb2.Jakob Stoklund Olesen2010-01-141-2/+2
| | | | | | | | | 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
* Fix a codegen abort seen in 483.xalancbmk.Dan Gohman2010-01-141-0/+3
| | | | llvm-svn: 93417
* In WriteFunction(), write function-local metadata before we write the ↵Victor Hernandez2010-01-141-1/+3
| | | | | | instructions, so instruction's references to metadata are fully resolved by the time they get written. llvm-svn: 93403
* Fix printing of function-local metadata in AsmWriterVictor Hernandez2010-01-141-2/+3
| | | | llvm-svn: 93402
* Clean up unnecessary return and bracketsVictor Hernandez2010-01-141-3/+1
| | | | llvm-svn: 93401
* Add MDNode::getFunction(), which figures out the metadata's function, if it ↵Victor Hernandez2010-01-141-0/+34
| | | | | | has function that it is local to. llvm-svn: 93400
* Don't fold insufficiently aligned ldr/str into ldm/stm instructions.Jakob Stoklund Olesen2010-01-141-0/+12
| | | | | | | | | | | | | 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
* this is an SSE-specific issue.Chris Lattner2010-01-132-20/+20
| | | | llvm-svn: 93373
* X86 if conversion + tail merging issues from PR6032.Chris Lattner2010-01-131-0/+20
| | | | llvm-svn: 93372
* When the visitSub method was split into visitSub and visitFSub, this xform wasBill Wendling2010-01-131-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix ELF section mangling stuff for weak symbols to not useChris Lattner2010-01-131-9/+11
| | | | | | obsolete Mangler interfaces. llvm-svn: 93356
* Fix comment typoVictor Hernandez2010-01-131-1/+1
| | | | llvm-svn: 93355
* tidyChris Lattner2010-01-131-4/+3
| | | | llvm-svn: 93352
* reduce duplicate mangling logic by using MCSymbol::printMangledName.Chris Lattner2010-01-131-23/+4
| | | | llvm-svn: 93351
* expose a static function as a static method on the MCSymbol class.Chris Lattner2010-01-131-4/+7
| | | | llvm-svn: 93350
OpenPOWER on IntegriCloud