summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [analyzer] Commit a test case for r164579.Anna Zaks2012-09-261-1/+11
| | | | llvm-svn: 164715
* Add support for detecting some corei7-class Xeons.Benjamin Kramer2012-09-261-0/+2
| | | | llvm-svn: 164714
* Have set-xcode-analyer report an error if no xcspec file could be found.Ted Kremenek2012-09-261-0/+5
| | | | llvm-svn: 164713
* Make set-xcode-analyzer more tolerant of the naming differenes reported by ↵Ted Kremenek2012-09-261-1/+1
| | | | | | xcode-select. llvm-svn: 164712
* Revert "Use sep instead of ' '."Ted Kremenek2012-09-261-1/+1
| | | | | | This isn't correct, as Jordan correctly points out. llvm-svn: 164711
* Fix template instantiation of attributes. More specifically, fix the caseDeLesley Hutchins2012-09-262-0/+99
| | | | | | | | | where an attribute is attached to a forward declaration of a template function, and refers to parameters of that declaration, but is then inherited by the definition of that function. When the definition is instantiated, the parameter references need to be remapped. llvm-svn: 164710
* Use sep instead of ' '.Ted Kremenek2012-09-261-1/+1
| | | | llvm-svn: 164709
* Now that invoke of an intrinsic is possible (for the llvm.do.nothing intrinsic)Duncan Sands2012-09-262-4/+18
| | | | | | | teach the callgraph logic to not create callgraph edges to intrinsics for invoke instructions; it already skips this for call instructions. Fixes PR13903. llvm-svn: 164707
* Make our mini-stdint.h platform-independent by using predefined macros.Jordan Rose2012-09-261-7/+11
| | | | | | | | This also adds a definition for uint64_t, which was causing build failures on some platforms. (I'm actually surprised this didn't happen on more builders, but maybe the search paths are different.) llvm-svn: 164706
* [libclang] Remove the ParentKind cursor kind from code-completion results.Argyrios Kyrtzidis2012-09-2613-55/+38
| | | | | | This is to reduce dependency to cursors for the code-completion results. llvm-svn: 164705
* Have ASTUnit::Save() return a bool to indicate save error.Argyrios Kyrtzidis2012-09-263-8/+10
| | | | | | Removes a dependency of ASTUnit to clang-c/Index.h. llvm-svn: 164704
* Patch by Matt, to get lldb to build with the updated llvm+clang versions ↵Filipe Cabecinhas2012-09-261-2/+0
| | | | | | (via Makefiles). llvm-svn: 164703
* Make lldb more C++11 friendly.Filipe Cabecinhas2012-09-261-1/+1
| | | | llvm-svn: 164702
* YAMLParser: Fix invalid reads when encountering incorrectly quoted scalar.Benjamin Kramer2012-09-261-0/+7
| | | | | | Fixes PR12632. llvm-svn: 164701
* Bump _LIBCPP_VERSION to 1002Howard Hinnant2012-09-261-1/+1
| | | | llvm-svn: 164700
* Remove unneeded and invalid SetInsertPoint calls from unittest.Benjamin Kramer2012-09-261-8/+0
| | | | | | BB->end() returns a sentinel value that is not a legal insert point. llvm-svn: 164699
* APFloat::roundToIntegral: Special values don't keep the exponent value up to ↵Benjamin Kramer2012-09-262-1/+18
| | | | | | | | date, don't rely on it. Add a couple of unit tests for special floats. Fixes 13929, found by MemorySanitizer. llvm-svn: 164698
* Address Duncan's comments on r164684:Hans Wennborg2012-09-263-11/+31
| | | | | | | | - Put statistics in alphabetical order - Don't use getZextValue when building TableInt, just use APInts - Introduce Create{Z,S}ExtOrTrunc in IRBuilder. llvm-svn: 164696
* Fixed a number of gpylint warnings, added binary names filtering (useful for ↵Alexander Potapenko2012-09-261-66/+97
| | | | | | Chrome), minor fixes. llvm-svn: 164695
* Encapsulate the main loop into a class to allow reusing it.Alexander Potapenko2012-09-261-26/+28
| | | | llvm-svn: 164694
* Set --use-symbol-table=true as Alexey has already resolved the FIXME.Alexander Potapenko2012-09-261-2/+1
| | | | llvm-svn: 164693
* Address Duncan's comments on r164682:Hans Wennborg2012-09-261-6/+4
| | | | | | | - Finish assert messages with exclamation mark - Move overflow checking into ShouldBuildLookupTable. llvm-svn: 164692
* Analogous fix to memset and memcpy rewriting. Don't have a test caseChandler Carruth2012-09-261-0/+16
| | | | | | | contrived for these yet, as I spotted them by inspection and the test cases are a bit more tricky to phrase. llvm-svn: 164691
* When rewriting the pointer operand to a load or store which hasChandler Carruth2012-09-262-0/+24
| | | | | | | alignment guarantees attached, re-compute the alignment so that we consider offsets which impact alignment. llvm-svn: 164690
* Teach all of the loads, stores, memsets and memcpys created by theChandler Carruth2012-09-263-47/+95
| | | | | | | | | | | | | rewriter in SROA to carry a proper alignment. This involves interrogating various sources of alignment, etc. This is a more complete and principled fix to PR13920 as well as related bugs pointed out by Eli in review and by inspection in the area. Also by inspection fix the integer and vector promotion paths to create aligned loads and stores. I still need to work up test cases for these... Sorry for the delay, they were found purely by inspection. llvm-svn: 164689
* Add some convenience methods to IRBuilder for constructing aligned loadsChandler Carruth2012-09-261-0/+25
| | | | | | | and stores. These will be used in subsequnet patches to SROA to more systematically manage the alignment on loads and stores. llvm-svn: 164688
* ARM/atomicrmw_minmax.ll: Fix RUN line.NAKAMURA Takumi2012-09-261-1/+1
| | | | llvm-svn: 164687
* Fix tests that didn't test anything.Benjamin Kramer2012-09-263-4/+3
| | | | llvm-svn: 164686
* Fix ordering of operands on lowering of atomicrmw min/max nodes on ARM.James Molloy2012-09-262-2/+23
| | | | llvm-svn: 164685
* SimplifyCFG: Make the switch-to-lookup table transformation store theHans Wennborg2012-09-262-26/+162
| | | | | | | | | | | | | | | | tables in bitmaps when they fit in a target-legal register. This saves some space, and it also allows for building tables that would otherwise be deemed too sparse. One interesting case that this hits is example 7 from http://blog.regehr.org/archives/320. We currently generate good code for this when lowering the switch to the selection DAG: we build a bitmask to decide whether to jump to one block or the other. My patch will result in the same bitmask, but it removes the need for the jump, as the return value can just be retrieved from the mask. llvm-svn: 164684
* Fix build failure and enhance the testcase for unwind.h.Logan Chien2012-09-262-3/+31
| | | | llvm-svn: 164683
* SimplifyCFG: Refactor the switch-to-lookup table transformation byHans Wennborg2012-09-261-72/+115
| | | | | | breaking out the building of lookup tables into a separate class. llvm-svn: 164682
* llvm/test/CodeGen/X86/mulx*.ll: Fix copypasto.NAKAMURA Takumi2012-09-262-2/+2
| | | | llvm-svn: 164681
* Run test in a freestanding environment so it doesn't accidentally pick up ↵Benjamin Kramer2012-09-261-4/+3
| | | | | | | | system headers for the wrong target. While there add a test that verifies that the header parses in C++ mode. llvm-svn: 164679
* Fix two more tests that didn't do anything.Nico Weber2012-09-262-3/+3
| | | | | | | Found with find test -type f | xargs grep RUN: | grep '%clang' | grep -iv '%s' | grep -v '%t' | grep -v '\\$' llvm-svn: 164678
* Make this test actually test somethingNico Weber2012-09-261-1/+1
| | | | llvm-svn: 164677
* The assumption that /proc/self/exe always exists is incorrect.Sylvestre Ledru2012-09-261-4/+13
| | | | | | | | | | | For example, under a Linux chroot, /proc/ might not be mounted. Therefor, we test if this file exist. If it is the case, use it (the current behavior). Otherwise, we fall back to the detection used by *BSD. The issue has been reported initially on the Debian bug tracker: http://bugs.debian.org/674588 llvm-svn: 164676
* Add SARX/SHRX/SHLX code generation supportMichael Liao2012-09-265-2/+241
| | | | llvm-svn: 164675
* Add RORX code generation supportMichael Liao2012-09-266-5/+86
| | | | llvm-svn: 164674
* Add MULX code generation supportMichael Liao2012-09-264-27/+127
| | | | llvm-svn: 164673
* Revert r163022, it caused PR13924.Nico Weber2012-09-264-14/+21
| | | | | | | Add a test for PR13924. Do not revert the test added in r163022, it surprisingly still passes even after reverting the code changes. llvm-svn: 164672
* Teach the 'lint' sanity checking pass to detect simple buffer overflows.Duncan Sands2012-09-262-19/+51
| | | | llvm-svn: 164671
* Revert r164663 due to buildbot failure.Craig Topper2012-09-261-12/+12
| | | | llvm-svn: 164670
* Revert the business end of r164636 and try again. I'll come in again. ;]Chandler Carruth2012-09-262-21/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should really, really fix PR13916. For real this time. The underlying bug is... a bit more subtle than I had imagined. The setup is a code pattern that leads to an @llvm.memcpy call with two equal pointers to an alloca in the source and dest. Now, not any pattern will do. The alloca needs to be formed just so, and both pointers should be wrapped in different bitcasts etc. When this precise pattern hits, a funny sequence of events transpires. First, we correctly detect the potential for overlap, and correctly optimize the memcpy. The first time. However, we do simplify the set of users of the alloca, and that causes us to run the alloca back through the SROA pass in case there are knock-on simplifications. At this point, a curious thing has happened. If we happen to have an i8 alloca, we have direct i8 pointer values. So we don't bother creating a cast, we rewrite the arguments to the memcpy to dircetly refer to the alloca. Now, in an unrelated area of the pass, we have clever logic which ensures that when visiting each User of a particular pointer derived from an alloca, we only visit that User once, and directly inspect all of its operands which refer to that particular pointer value. However, the mechanism used to detect memcpy's with the potential to overlap relied upon getting visited once per *Use*, not once per *User*. This is always true *unless* the same exact value is both source and dest. It turns out that almost nothing actually produces that pattern though. We can hand craft test cases that more directly test this behavior of course, and those are included. Also, note that there is a significant missed optimization here -- we prove in many cases that there is a non-volatile memcpy call with identical source and dest addresses. We shouldn't prevent splitting the alloca in that case, and in fact we should just remove such memcpy calls eagerly. I'll address that in a subsequent commit. llvm-svn: 164669
* Add is16BitVector and is32BitVector to MVT and call them from EVT. Matches ↵Craig Topper2012-09-261-9/+14
| | | | | | other similar methods. llvm-svn: 164668
* Replace calls to getSizeInBits with getExtendedSizeInBits since its already ↵Craig Topper2012-09-261-7/+7
| | | | | | known its an extended type. llvm-svn: 164667
* Rename virtual table anchors from Anchor() to anchor() for consistency with ↵Craig Topper2012-09-266-8/+8
| | | | | | the rest of the tree. llvm-svn: 164666
* Add struct keyword before _Unwind_Context.Logan Chien2012-09-262-1/+7
| | | | | | | | In the C programming language, we have to add the "struct" keyword. Otherwise, the compiler will emit error message. llvm-svn: 164665
* Remove hasNoAVX method. Can just invert hasAVX instead.Craig Topper2012-09-262-7/+6
| | | | llvm-svn: 164664
* Mark extended type querying methods as 'readonly' to reduce compile size.Craig Topper2012-09-261-12/+12
| | | | llvm-svn: 164663
OpenPOWER on IntegriCloud