summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tsan: enabled report suppression for signal-unsafe reportsDmitry Vyukov2012-05-143-3/+4
| | | | llvm-svn: 156765
* tsan: fix output_tests script to actually verify tests resultsDmitry Vyukov2012-05-141-9/+5
| | | | llvm-svn: 156764
* Consider ad hoc aliasing when building RegUnits.Jakob Stoklund Olesen2012-05-141-12/+41
| | | | | | | | | | | | | | | | | | | | | | | Register units can be used to compute if two registers overlap: A overlaps B iff units(A) intersects units(B). With this change, the above holds true even on targets that use ad hoc aliasing (currently only ARM). This means that register units can be used to implement regsOverlap() more efficiently, and the register allocator can use the concept to model interference. When there is no ad hoc aliasing, the register units correspond to the maximal cliques in the register overlap graph. This is optimal, no other register unit assignment can have fewer units. With ad hoc aliasing, weird things are possible, and we don't try too hard to compute the maximal cliques. The current approach is always correct, and it works very well (probably optimally) as long as the ad hoc aliasing doesn't have cliques larger than pairs. It seems unlikely that any target would need more. llvm-svn: 156763
* Record the ad hoc aliasing graph in CodeGenRegister.Jakob Stoklund Olesen2012-05-142-5/+21
| | | | | | | | | | | | | The ad hoc aliasing specified in the 'Aliases' list in .td files is currently only used by computeOverlaps(). It will soon be needed to build accurate register units as well, so build the undirected graph in CodeGenRegister::buildObjectGraph() instead. Aliasing is a symmetric relationship with only one direction specified in the .td files. Make sure both directions are represented in getExplicitAliases(). llvm-svn: 156762
* Compute topological signatures of registers.Jakob Stoklund Olesen2012-05-142-8/+76
| | | | | | | | | | | | | | | TableGen creates new register classes and sub-register indices based on the sub-register structure present in the register bank. So far, it has been doing that on a per-register basis, but that is not very efficient. This patch teaches TableGen to compute topological signatures for registers, and use that to reduce the amount of redundant computation. Registers get the same TopoSig if they have identical sub-register structure. TopoSigs are not currently exposed outside TableGen. llvm-svn: 156761
* Add BitVector::anyCommon().Jakob Stoklund Olesen2012-05-142-1/+39
| | | | | | The existing operation (A & B).any() is very slow. llvm-svn: 156760
* tsan: make addr2line symbolizer understand dynamic librariesDmitry Vyukov2012-05-141-71/+111
| | | | | | | Collect info about all dynamic libraries in the process (name, base, size). Determine to what dyn lib the address relates, route request to addr2line instance for the lib. llvm-svn: 156759
* tsan: update output tests to race on heap memoryDmitry Vyukov2012-05-142-10/+12
| | | | | | | Races on stack of main thread are problematic for COMPAT mapping, because it's not 1-to-1 and race addr is not properly mapped from shadow back to application memory. Update output tests to race heap memory. llvm-svn: 156758
* SwitchInst cosmetics: renamed "Hash" method to "hash"Stepan Dyatkovskiy2012-05-143-3/+3
| | | | llvm-svn: 156757
* Formatting changes. Remove the '...' placeholders.Bill Wendling2012-05-141-67/+44
| | | | llvm-svn: 156756
* Use ArrayRef instead of an explicit vector type.Bill Wendling2012-05-142-3/+3
| | | | llvm-svn: 156755
* Add blurb about Julia.Bill Wendling2012-05-141-0/+16
| | | | llvm-svn: 156754
* [clang.py] Implement Cursor.canonicalGregory Szorc2012-05-142-0/+31
| | | | llvm-svn: 156753
* [clang.py] Implement Cursor.result_typeGregory Szorc2012-05-142-0/+16
| | | | llvm-svn: 156752
* Test for -fdebugger-objc-literal: missing methods should be generated like ↵Jordy Rose2012-05-131-0/+21
| | | | | | missing classes. llvm-svn: 156746
* ReleaseNotes: Add info on PTX back-endJustin Holewinski2012-05-131-0/+15
| | | | llvm-svn: 156745
* Hexagon: Initialize TBB to 0.Benjamin Kramer2012-05-131-0/+1
| | | | | | Found by valgrind. llvm-svn: 156744
* Fix Xcode case (Upper X, lower c)Jean-Daniel Dupas2012-05-132-2/+2
| | | | llvm-svn: 156743
* Fix Xcode case (Upper X, lower c)Jean-Daniel Dupas2012-05-131-1/+1
| | | | llvm-svn: 156742
* tsan: fix mmap fdDmitry Vyukov2012-05-131-1/+1
| | | | | | | This is mostly to test my commit access. Fixes fd passed to mmap(), -1 is the proper invalid fd. llvm-svn: 156741
* ReleaseNotes: Add a note about zero_undef on llvm.cttz/ctlz. Extend x86 ↵Benjamin Kramer2012-05-131-3/+12
| | | | | | section. Add a bullet for dwarf access tables. llvm-svn: 156740
* ReleaseNotes: Add a blurb about llvm-mc -g and move inliner changes into the ↵Benjamin Kramer2012-05-131-6/+11
| | | | | | optimizer sections. Verbosify some bullets. llvm-svn: 156739
* ReleaseNotes: Document that LLVM was rewritten in python.Benjamin Kramer2012-05-131-0/+2
| | | | | | | ^~~~ llvm-build llvm-svn: 156738
* ReleaseNotes: Add bullets for removed targets. Extend the note about llvm-ld ↵Benjamin Kramer2012-05-131-13/+10
| | | | | | removal. llvm-svn: 156737
* Outline some clang 3.1 highlights off the top of my head.Benjamin Kramer2012-05-131-4/+11
| | | | llvm-svn: 156736
* Add a link for every project.Benjamin Kramer2012-05-131-34/+36
| | | | llvm-svn: 156735
* Add blurb for LLVM D Compiler.Bill Wendling2012-05-131-0/+10
| | | | llvm-svn: 156733
* Add blurbs for pocl and TCE.Bill Wendling2012-05-131-0/+34
| | | | llvm-svn: 156732
* Add OSL blurb.Bill Wendling2012-05-131-0/+18
| | | | llvm-svn: 156731
* Add FAUST blurb.Bill Wendling2012-05-131-0/+12
| | | | llvm-svn: 156730
* Fix the tool documentationNadav Rotem2012-05-131-1/+1
| | | | llvm-svn: 156729
* Refactor all theRafael Espindola2012-05-134-112/+94
| | | | | | | | | if (Inherited) Attr->setInherited(true); To a central location. llvm-svn: 156728
* Produce a warning for mismatched section attributes. Completest pr9356.Rafael Espindola2012-05-136-3/+31
| | | | llvm-svn: 156727
* We were already passing the case in pr9356. Add it to attributes.c to makeRafael Espindola2012-05-131-0/+8
| | | | | | sure we don't regress. I will add a warning in a sec. llvm-svn: 156726
* Document Python bindings in release notesGregory Szorc2012-05-121-0/+24
| | | | llvm-svn: 156724
* Add support for __attribute__((hot)) and __attribute__((cold)).Benjamin Kramer2012-05-125-0/+73
| | | | | | | | Currently cold functions are marked with the "optsize" attribute in CodeGen so they are always optimized for size. The hot attribute is just ignored, LLVM doesn't have a way to express hotness at the moment. llvm-svn: 156723
* [clang.py] Followup to TranslationUnit refactorGregory Szorc2012-05-121-2/+5
| | | | | | | | | * Document index argument in TranslationUnit.from_source * Add numeric error code to TranslationUnitSaveError string representation * Use None instead of [] for default argument value in TranslationUnit.codeComplete llvm-svn: 156722
* Add Python binding info to release notesGregory Szorc2012-05-121-0/+35
| | | | llvm-svn: 156721
* [analyzer] Test case: p->x is the same as p[0].x. (PR7297)Jordy Rose2012-05-121-0/+13
| | | | llvm-svn: 156720
* Only check NSArray/NSDictionary boxing method params once.Jordy Rose2012-05-122-87/+99
| | | | | | | | Once we've found a "good" method, we don't need to check its argument types again. (Even if we might have later found a "bad" method, we were already caching the method we first looked up.) llvm-svn: 156719
* 80-col violations and minor reformatting. No functionality change.Jordy Rose2012-05-121-60/+64
| | | | llvm-svn: 156718
* Clean up ObjC boxing method checks by reducing duplicated code.Jordy Rose2012-05-121-83/+54
| | | | llvm-svn: 156717
* Fix spacing after if.Benjamin Kramer2012-05-121-6/+5
| | | | llvm-svn: 156716
* Remove unused variable. Thanks to Dmitri Gribenko for noticing it.Rafael Espindola2012-05-121-2/+0
| | | | llvm-svn: 156715
* Add support for the .rept directive. Patch by Vladmir Sorokin. I added supportRafael Espindola2012-05-124-0/+126
| | | | | | for nesting. llvm-svn: 156714
* Don't crash on boxed strings when +stringWithUTF8String: is missing.Jordy Rose2012-05-124-11/+39
| | | | | | | | Also, unify some diagnostics for boxed expressions that have the same form. Fixes PR12804. llvm-svn: 156713
* ELF: Add support for the asm .version directive.Benjamin Kramer2012-05-122-0/+45
| | | | llvm-svn: 156712
* Increase error_message_buffer_size to 64K (16K is insufficient for large ↵Alexander Potapenko2012-05-121-1/+1
| | | | | | programs) llvm-svn: 156711
* Fix GetFrameNameByAddr hitting stale stack guards.Evgeniy Stepanov2012-05-122-10/+23
| | | | | | | | | | | | | | | | | In the current implementation AsanThread::GetFrameNameByAddr scans the stack for a magic guard value to locate base address of the stack frame. This is not reliable, especially on ARM, where the code that stores this magic value has to construct it in a register from two small intermediates; this register can then end up stored in a random stack location in the prologue of another function. With this change, GetFrameNameByAddr scans the shadow memory for the signature of a left stack redzone instead. It is now possible to remove the magic from the instrumentation pass for additional performance gain. We keep it there for now just to make sure the new algorithm does not fail in some corner case. llvm-svn: 156710
* AsmParser: Add support for the .purgem directive.Benjamin Kramer2012-05-122-0/+35
| | | | | | Based on a patch by Team PaX. llvm-svn: 156709
OpenPOWER on IntegriCloud