summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* 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
* don't call getNameWithPrefix repeatedly and unnecesarily.Chris Lattner2010-01-131-5/+7
| | | | llvm-svn: 93333
* properly use MCSymbol to print the strings aquired from getNameWithPrefix.Chris Lattner2010-01-131-25/+64
| | | | llvm-svn: 93332
* Introduce Twine::toStringRef, a variant of toVector which avoids the copy if theBenjamin Kramer2010-01-135-27/+23
| | | | | | | twine can be represented as a single StringRef. Use the new methode to simplify some twine users. llvm-svn: 93317
* Re-enable extension optimization pass.Evan Cheng2010-01-133-2/+2
| | | | llvm-svn: 93313
* upgrade and MC'ize a few uses of makeNameProper.Chris Lattner2010-01-131-5/+5
| | | | llvm-svn: 93310
* MC'ize this a bit and upgrade APIsChris Lattner2010-01-131-2/+3
| | | | llvm-svn: 93309
* add a fixme, ELF MCSection isn't quite right and weak unnamed globals are brokenChris Lattner2010-01-131-0/+4
| | | | | | on linux (even though they are pointless, they shouldn't ICE). llvm-svn: 93308
* For now, avoid issuing extract_subreg to reuse lower 8-bit, it's not safe in ↵Evan Cheng2010-01-131-0/+4
| | | | | | 32-bit. llvm-svn: 93307
* Add comment; refactor; avoid pulling in DT if it's not used.Evan Cheng2010-01-131-79/+110
| | | | llvm-svn: 93306
* eliminate some uses of Mangler::makeNameProper.Chris Lattner2010-01-133-14/+23
| | | | llvm-svn: 93305
* don't add the \1 to the name.Chris Lattner2010-01-131-1/+1
| | | | llvm-svn: 93304
* remove uses of deprecated functions, this generates slightlyChris Lattner2010-01-133-13/+14
| | | | | | | | | different BlockAddress labels, but nothing semantically important. Add a FIXME that BlockAddress codegen is broken if the LLVM BB has an empty name (e.g. strip was run). llvm-svn: 93303
* use the new form of getNameWithPrefix, not makeNameProper.Chris Lattner2010-01-131-1/+1
| | | | | | | | | Among other things, this would do very weird things if the basic block name had (e.g.) a space in it on darwin: makeNameProper would add quotes, then the mcsymbol would escape the quotes. llvm-svn: 93302
* add new isSingleStringRef()/getSingleStringRef() methods to twine, Chris Lattner2010-01-132-2/+37
| | | | | | | | and use them to avoid a copy of a string in getNameWithPrefix in the common case. It seems like Value::setName and other places should use this as well? llvm-svn: 93301
* ugh, my last patch just sped up a method and changed all the clientsChris Lattner2010-01-132-19/+63
| | | | | | | | that I want to completely eliminate. Add fixme's so I remember this in the future, and add the missing helper that they should be upgraded to use instead. llvm-svn: 93300
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-1310-130/+168
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* my mistake, Mangler::makeNameProper wants to take a twine, not a stringref!Chris Lattner2010-01-132-4/+7
| | | | llvm-svn: 93296
* change makeNameProper to take a stringref instead of std::string.Chris Lattner2010-01-132-9/+10
| | | | llvm-svn: 93295
* give StringRef a const_iterator member.Chris Lattner2010-01-131-9/+3
| | | | llvm-svn: 93294
OpenPOWER on IntegriCloud