summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Switch LineTableInfo to use FileID instead of int for file references,Douglas Gregor2012-06-084-17/+18
| | | | | | from Tom Honermann! llvm-svn: 158211
* BoundsChecking: add support for ConstantPointerNull. fixes a bunch of ↵Nuno Lopes2012-06-081-6/+7
| | | | | | instrumentation failures in loops with reallocs llvm-svn: 158210
* test/CodeGen/Generic/APIntLoadStore.ll: Mark as XFAIL:ppc since r157911.NAKAMURA Takumi2012-06-081-0/+1
| | | | llvm-svn: 158209
* Fixed TestCompletion, broken by r158173Filipe Cabecinhas2012-06-081-2/+2
| | | | llvm-svn: 158207
* Disable the PPC CTR-Loops pass by default.Hal Finkel2012-06-084-6/+19
| | | | | | | | | | The pass itself works well, but the something in the Machine* infrastructure does not understand terminators which define registers. Without the ability to use the block-placement pass, etc. this causes performance regressions (and so is turned off by default). Turning off the analysis turns off the problems with the Machine* infrastructure. llvm-svn: 158206
* Fix a bug in the new PPC CTR-Loops pass.Hal Finkel2012-06-082-0/+88
| | | | | | | | | The code which tests for an induction operation cannot assume that any ADDI instruction will have a register operand because the operand could also be a frame index; for example: %vreg16<def> = ADDI8 <fi#0>, 0; G8RC:%vreg16 llvm-svn: 158205
* Add the PPCCTRLoops pass: a PPC machine-code-level optimization pass to form ↵Hal Finkel2012-06-0810-18/+890
| | | | | | | | | | CTR-based loop branching code. This pass is derived from the Hexagon HardwareLoops pass. The only significant enhancement over the Hexagon pass is that PPCCTRLoops will also attempt to delete the replaced add and compare operations if they are no longer otherwise used. Also, invalid preheader DebugLoc is not used. llvm-svn: 158204
* [Sanitizer] add internal_memset and internal_strrchr to sanitizer_common/Alexey Samsonov2012-06-086-19/+23
| | | | llvm-svn: 158202
* [ASan] allow calls to memmove during rtl initializationAlexey Samsonov2012-06-081-0/+3
| | | | llvm-svn: 158201
* [TSan] s/internal_memset/real_memsetAlexey Samsonov2012-06-086-10/+10
| | | | llvm-svn: 158200
* Revert commit 158073 while waiting for a fix. The issue is that reassociateDuncan Sands2012-06-082-111/+144
| | | | | | | | | | | | | | | | can move instructions within the instruction list. If the instruction just happens to be the one the basic block iterator is pointing to, and it is moved to a different basic block, then we get into an infinite loop due to the iterator running off the end of the basic block (for some reason this doesn't fire any assertions). Original commit message: Grab-bag of reassociate tweaks. Unify handling of dead instructions and instructions to reoptimize. Exploit this to more systematically eliminate dead instructions (this isn't very useful in practice but is convenient for analysing some testcase I am working on). No need for WeakVH any more: use an AssertingVH instead. llvm-svn: 158199
* [ASan] add interceptor for strncatAlexey Samsonov2012-06-082-0/+71
| | | | llvm-svn: 158198
* cmake: Pass the -m32 flag to modules if LLVM_BUILD_32_BITS is enabledTobias Grosser2012-06-081-0/+1
| | | | | | | | | | | This was previously only done for executables and shared libraries, but not for modules. As modules are essentially shared libraries (that need to be dlopened explicitly), threating them the same as shared libraries seems reasonable. This fixes the LLVM_BUILD_32_BITS build of Polly. Contributed by: Ondra Hosek <ondra.hosek@gmail.com> llvm-svn: 158195
* [libclang] Don't crash when saving a PCH from a prefix headerArgyrios Kyrtzidis2012-06-085-6/+19
| | | | | | | | that does not exist. rdar://11607033 llvm-svn: 158193
* [libclang] Add a triple to test/Index/index-decls.mArgyrios Kyrtzidis2012-06-081-1/+1
| | | | llvm-svn: 158192
* Remove empty line at end.Jason Molenda2012-06-081-1/+0
| | | | llvm-svn: 158191
* Add a simple man page for lldb.Jason Molenda2012-06-081-0/+87
| | | | llvm-svn: 158190
* [libclang/AST]Argyrios Kyrtzidis2012-06-083-3/+29
| | | | | | | | | | | | | AST: For auto-synthesized ivars give them the location of the related property (previously they had no source location). This allows them to be indexed by libclang. libclang: Make sure synthesized ivars are indexed before the methods that may reference them. Fixes rdar://11607001. llvm-svn: 158189
* Committed a change to the SectionList that introducesSean Callanan2012-06-087-15/+109
| | | | | | | | | | | a cache of address ranges for child sections, accelerating lookups. This cache is built during object file loading, and is then set in stone once the object files are done loading. (In Debug builds, we ensure that the cache is never invalidated after that.) llvm-svn: 158188
* [analyzer] Use "issue hash" in CmpRuns; followup on r158180Anna Zaks2012-06-081-3/+11
| | | | | | | (For the future: It would be more efficient to produce a hash key with the embedded function info inside the compiler.) llvm-svn: 158187
* Allow friend declarations of defaulted special member functions. OnlyRichard Smith2012-06-082-1/+7
| | | | | | definitions of such members are prohibited, not mere declarations. llvm-svn: 158186
* Fix up the 'typename' suggestion logic introduced in r157085, based onKaelyn Uhrain2012-06-082-12/+13
| | | | | | feedback from Doug Gregor. llvm-svn: 158185
* PR13047: Fix various abuses of clang::Type in the MS mangler, to make it workRichard Smith2012-06-082-14/+23
| | | | | | in the presence of type sugar. llvm-svn: 158184
* Teach the AsmMatcherEmitter to allow InstAlias' where the suboperands of a ↵Owen Anderson2012-06-082-5/+27
| | | | | | complex operand are called out explicitly in the asm string. llvm-svn: 158183
* Fix typo "CursorKind.CONDITONAL_OPERATOR" in Python bindings, fromDouglas Gregor2012-06-081-1/+1
| | | | | | Manish Verma! llvm-svn: 158182
* Rename a test case to a more generic name. This is a completely uselessChandler Carruth2012-06-081-0/+0
| | | | | | | test, but David Sehr is looking at spiffing it up and adding some proper tests for our alloca codegen. llvm-svn: 158181
* [analyzer] Add experimental "issue hash" to the plist diagnostic.Anna Zaks2012-06-085-0/+48
| | | | | | | | | | | | | | CmpRuns.py can be used to compare issues from different analyzer runs. Since it uses the issue line number to unique 2 issues, adding a new line to the beginning of a file makes all issues in the file reported as new. The hash will be an opaque value which could be used (along with the function name) by CmpRuns to identify the same issues. This way, we only fail to identify the same issue from two runs if the function it appears in changes (not perfect, but much better than nothing). llvm-svn: 158180
* [analyze] Change some of the malloc tests to use clang_analyzer_eval.Anna Zaks2012-06-081-13/+8
| | | | | | Thanks, Jordan. llvm-svn: 158179
* Teach the FixIt in DiagnoseInvalidRedeclaration how to replace the writtenKaelyn Uhrain2012-06-072-5/+27
| | | | | | | nested name specifiers in addition to the function's identifier when the correction has a different nested name specifier. llvm-svn: 158178
* Ignore corrections to functions with bodies when deciding whichKaelyn Uhrain2012-06-073-20/+52
| | | | | | correction to use for an invalid function redeclaration. llvm-svn: 158177
* [CMake] Promote extension warnings to errors.Michael J. Spencer2012-06-071-1/+4
| | | | llvm-svn: 158176
* X86: optimize generated code for integer ABSManman Ren2012-06-072-8/+54
| | | | | | | | | | | | | | | | | | | | This patch will generate the following for integer ABS: movl %edi, %eax negl %eax cmovll %edi, %eax INSTEAD OF movl %edi, %ecx sarl $31, %ecx leal (%rdi,%rcx), %eax xorl %ecx, %eax There exists a target-independent DAG combine for integer ABS, which converts integer ABS to sar+add+xor. For X86, we match this pattern back to neg+cmov. This is implemented in PerformXorCombine. rdar://10695237 llvm-svn: 158175
* Minor comments and changes to clang-completion-mode.el, from David Wood!Douglas Gregor2012-06-071-19/+11
| | | | llvm-svn: 158174
* Added a setting (target.process.disable-memory-cache)Sean Callanan2012-06-072-58/+99
| | | | | | | | that controls whether memory is cached. This is off by default (i.e., memory is cached) because it greatly improves performance. llvm-svn: 158173
* Fix warning flags for CMake builds, from Andrew C. Morrow!Douglas Gregor2012-06-071-8/+8
| | | | llvm-svn: 158172
* [CMake] Order MSVC warnings numerically.Michael J. Spencer2012-06-071-2/+2
| | | | llvm-svn: 158171
* [CMake] Adjust MSVC warnings.Michael J. Spencer2012-06-071-2/+6
| | | | | | | Remove /Wall from LLVM_ENABLE_WARNINGS (it's useless) and promote 4239 to a level 1 warning. llvm-svn: 158170
* Do not optimize the used bits of the x86 vselect condition operand, when the ↵Nadav Rotem2012-06-071-4/+6
| | | | | | | | condition operand is a vector of 1-bit predicates. This may happen on MIC devices. llvm-svn: 158168
* Fix a bug in FoldSelectOpOp. Bitcast ops may change the number of vector ↵Nadav Rotem2012-06-072-0/+17
| | | | | | elements, which may disagree with the select condition type. llvm-svn: 158166
* [analyzer] Fixit for r158136.Anna Zaks2012-06-072-1/+18
| | | | | | | | | I falsely assumed that the memory spaces are equal when we reach this point, they might not be when memory space of one or more is stack or Unknown. We don't want a region from Heap space alias something with another memory space. llvm-svn: 158165
* Continue factoring computeOperandLatency. Use it for ARM hasHighOperandLatency.Andrew Trick2012-06-073-24/+76
| | | | llvm-svn: 158164
* ARM getOperandLatency rewrite.Andrew Trick2012-06-071-85/+112
| | | | | | Match expectations of the new latency API. Cleanup and make the logic consistent. llvm-svn: 158163
* ARM getOperandLatency should return -1 for unknown, consistent with APIAndrew Trick2012-06-071-1/+4
| | | | llvm-svn: 158162
* Fix ARM getInstrLatency logic to work with the current API.Andrew Trick2012-06-071-13/+19
| | | | llvm-svn: 158161
* PR13046: we can't replace usage of SUB with CMP in the lowering phase.Manman Ren2012-06-071-1/+2
| | | | | | It will cause assertion failure later on. llvm-svn: 158160
* Add API logging for SBDebugger::MemoryPressureDetected.Jim Ingham2012-06-071-0/+7
| | | | llvm-svn: 158159
* Use a base register instead of an index register with the local dynamic model.Rafael Espindola2012-06-072-1/+9
| | | | | | Fixes pr13048. llvm-svn: 158158
* User better API for vla in compund literals.Fariborz Jahanian2012-06-072-9/+37
| | | | | | // rdar://11485774 llvm-svn: 158157
* Add ext_vector type code for builtins, from John Garvin!Douglas Gregor2012-06-072-1/+15
| | | | llvm-svn: 158156
* Fix many doxygen formatting errors.Chandler Carruth2012-06-075-71/+74
| | | | | | | | | | | | | This patch affects docs only, and includes formatting changes only (though those include some fixes for broken Doxygen markup that caused some content to be missing from generated pages). It avoids generating many spurious pages such as http://clang.llvm.org/doxygen/classRepresents.html, but likely not all yet. Patch by James Dennett. llvm-svn: 158155
OpenPOWER on IntegriCloud