summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Split the TargetAsmParser "ParseInstruction" interface in half:Chris Lattner2010-01-146-52/+77
| | | | | | | | | | | 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
* Add variable-width shifts for MSP430Anton Korobeynikov2010-01-141-0/+51
| | | | llvm-svn: 93468
* 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-146-11/+17
| | | | | | | 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-142-1/+30
| | | | 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
* Use ENABLE_ASSERTIONS throughout.Bill Wendling2010-01-141-2/+2
| | | | llvm-svn: 93423
* Fix a codegen abort seen in 483.xalancbmk.Dan Gohman2010-01-142-0/+23
| | | | llvm-svn: 93417
* Test for r93409.Evan Cheng2010-01-141-0/+11
| | | | llvm-svn: 93410
* Extend testcase to also test llvm.dbg.value intrinsicVictor Hernandez2010-01-141-0/+7
| | | | llvm-svn: 93408
* Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly ↵Victor Hernandez2010-01-141-8/+16
| | | | | | support function-local metadata, test it. llvm-svn: 93406
* 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-142-0/+39
| | | | | | 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
* Erm, previous patch was wrong; Thanks Bill\!Stuart Hastings2010-01-141-2/+0
| | | | llvm-svn: 93381
* Enable assertions by default for Apple-style builds.Stuart Hastings2010-01-141-2/+2
| | | | llvm-svn: 93380
* 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-132-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add getSource() to SuccIteratorTobias Grosser2010-01-131-0/+5
| | | | | | Get the source BB of an iterator. llvm-svn: 93364
* Extend SuccIteratorTobias Grosser2010-01-131-1/+62
| | | | | | | Implement most of the missing methods to make SuccIterator random access. operator[] is still missing. llvm-svn: 93363
* this test requires SSE, thanks to jyasskin for pointing this out.Chris Lattner2010-01-131-1/+1
| | | | llvm-svn: 93360
* makeNameProper is now private!Chris Lattner2010-01-131-11/+13
| | | | llvm-svn: 93357
* 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-132-4/+12
| | | | llvm-svn: 93350
* Fixed a couple of places for Thumb MOV where encoding bits are underspecified.Johnny Chen2010-01-131-4/+3
| | | | llvm-svn: 93349
* Fix pastoJakob Stoklund Olesen2010-01-131-1/+1
| | | | llvm-svn: 93342
* stop the CBE from using deprecated Mangler stuff.Chris Lattner2010-01-131-17/+39
| | | | llvm-svn: 93341
* Write function-local metadata as a metadata subblock of a funciton blockVictor Hernandez2010-01-131-4/+36
| | | | llvm-svn: 93339
* Enumerate function-local metadata (and its types and operands) only during ↵Victor Hernandez2010-01-132-20/+35
| | | | | | function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator llvm-svn: 93338
* Parse function-local metadata inside function blocksVictor Hernandez2010-01-131-0/+3
| | | | llvm-svn: 93337
* Use the GV version of getNameWithPrefix in TargetLoweringObjectFileCOFF::Chris Lattner2010-01-131-1/+1
| | | | | | SelectSectionForGlobal, unbreaking weak globals with no-name. llvm-svn: 93336
* Commit some changes I had managed to lose last night while refactoring the ↵Evan Cheng2010-01-133-2/+53
| | | | | | | | code. Avoid change use of PHI instructions because it's not legal to insert any instructions before them. This fixes PR6027. llvm-svn: 93335
* just finish MCizing FnStubInfo which cleans it up and simplifies it.Chris Lattner2010-01-131-48/+33
| | | | llvm-svn: 93334
OpenPOWER on IntegriCloud