summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix ALL the markup.Benjamin Kramer2012-01-1536-387/+412
| | | | llvm-svn: 148219
* Return an ArrayRef from ShuffleVectorSDNode::getMask and push it through ↵Benjamin Kramer2012-01-155-98/+57
| | | | | | CodeGen. llvm-svn: 148218
* DAGCombiner: Deduplicate code.Benjamin Kramer2012-01-151-24/+14
| | | | llvm-svn: 148217
* Cosmetic patch for r148215.Stepan Dyatkovskiy2012-01-151-13/+0
| | | | llvm-svn: 148216
* Fixup for r148132. Type replacement for LoopsProperties: from DenseMap to ↵Stepan Dyatkovskiy2012-01-151-114/+180
| | | | | | | | | std::map, since we need to keep a valid pointer to properties of current loop. Message for r148132: LoopUnswitch: All helper data that is collected during loop-unswitch iterations was moved to separated class (LUAnalysisCache). llvm-svn: 148215
* Relax the FileCheck assertion a bit -- all we really care about is thatChandler Carruth2012-01-151-1/+1
| | | | | | | we're loading from the global array, not how it is spelled in the asm. This should fix the MSVC bots. llvm-svn: 148214
* FileCheck-ize a test, make it more specific to directly test the shiftChandler Carruth2012-01-151-10/+14
| | | | | | removal desired. llvm-svn: 148213
* Two variables had been added for an assert, but their values wereChandler Carruth2012-01-151-3/+3
| | | | | | | | | | re-computed rather than the variables be re-used just after the assert. Just use the variables since we have them already. Fixes an unused variable warning. Also fix an 80-column violation. llvm-svn: 148212
* Remove SetWorkingDirectory from the Process interface. Nothing in LLVMChandler Carruth2012-01-153-11/+0
| | | | | | | | | | | | or Clang is using this, and it would be hard to use it correctly given the thread hostility of the function. Also, it never checked the return which is rather dangerous with chdir. If someone was in fact using this, please let me know, as well as what the usecase actually is so that I can add it back and make it more correct and secure to use. (That said, it's never going to be "safe" per-se, but we could at least document the risks...) llvm-svn: 148211
* decltype(e) is type-dependent if e is instantiation-dependent. Scary but true.Richard Smith2012-01-152-2/+12
| | | | | | | Don't consider decltype(e) for an instantiation-dependent, but not type-dependent, e to be non-type-dependent but canonical(!). llvm-svn: 148210
* Pedantic diagnostic correction: in C++, we have integral constant expressions,Richard Smith2012-01-1511-33/+30
| | | | | | | | not integer constant expressions. In passing, fix the 'folding is an extension' diagnostic to not claim we're accepting the code, since that's not true in -pedantic-errors mode, and add this diagnostic to -Wgnu. llvm-svn: 148209
* constexpr: casts to void* are allowed in constant expressions, don't set theRichard Smith2012-01-152-4/+4
| | | | | | | designator invalid. (Since we can't read the value of such a pointer, this only affects the quality of diagnostics.) llvm-svn: 148208
* Change linkage computation so it doesn't depend on FunctionDecl::isExternC ↵Eli Friedman2012-01-152-44/+30
| | | | | | | | or VarDecl::isExternC, and instead queries what it actually cares about: whether the given declaration is inside an extern "C" context. Fundamentally, figuring out whether a function/variable uses C linkage requires knowing the linkage, and the logic in FunctionDecl::isExternC and VarDecl::isExternC was getting it wrong. Given that, fix FunctionDecl::isExternC and VarDecl::isExternC to use much simpler implementations that depend on the fixed linkage computation. Fixes a regression to test/SemaCXX/linkage.cpp caused by a new warning exposing the fact that the internal state was wrong. llvm-svn: 148207
* Remove dead code.David Blaikie2012-01-152-140/+79
| | | | llvm-svn: 148206
* Truncate of undef is just undef of smaller size.Craig Topper2012-01-151-5/+6
| | | | llvm-svn: 148205
* Use a smaller vector than SmallVector.Benjamin Kramer2012-01-143-7/+5
| | | | | | Shrinks OverloadCandidate from 208 to 168 bytes. llvm-svn: 148204
* Bumped xcode project versions for lldb-106 and debugserver-165Greg Clayton2012-01-143-22/+22
| | | | llvm-svn: 148202
* <rdar://problem/9731573>Greg Clayton2012-01-142-2/+14
| | | | | | | | | | | | | | | | | | | | Fixed two double "int close(int fd)" issues found by our file descriptor interposing library on darwin: The first is in SBDebugger::SetInputFileHandle (FILE *file, bool transfer_ownership) where we would give our FILE * to a lldb_private::File object member variable and tell it that it owned the file descriptor if "transfer_ownership" was true, and then we would also give it to the communication plug-in that waits for stdin to come in and tell it that it owned the FILE *. They would both try and close the file. The seconds was when we use a file descriptor through ConnectionFileDescriptor where someone else is creating a connection with ConnectionFileDescriptor and a URL like: "fd://123". We were always taking ownwership of the fd 123, when we shouldn't be. There is a TODO in the comments that says we should allow URL options to be passed to be able to specify this later (something like: "fd://123?transer_ownership=1"), but we can get to this later. llvm-svn: 148201
* Clear ImplicitConversionSequence the obvious way which turns out to be less ↵Benjamin Kramer2012-01-142-7/+11
| | | | | | fragile. llvm-svn: 148200
* I forgot to import a header file change. ThisSean Callanan2012-01-141-0/+2
| | | | | | should fix builds. llvm-svn: 148199
* Give OverloadCandidateSet the responsibility for destroying the implicit ↵Benjamin Kramer2012-01-142-13/+8
| | | | | | conversion sequences so we don't get double frees when the vector reallocates. llvm-svn: 148198
* objc: disallow __block attribute on method params.Fariborz Jahanian2012-01-142-0/+16
| | | | llvm-svn: 148197
* Fix the memop type on a couple 256-bit AVX instructions that were using ↵Craig Topper2012-01-141-4/+4
| | | | | | f128mem instead of f256mem. llvm-svn: 148196
* Added some fixes for the fd interposing dylib:Greg Clayton2012-01-141-20/+19
| | | | | | | - don't strip too many frames from the backtrace when logging close backtraces - cleanup some logging messages llvm-svn: 148195
* Add a bunch of AVX instructions to the folding tables. Also fixed the ↵Craig Topper2012-01-141-69/+139
| | | | | | alignment on 256-bit AVX2 instructions. llvm-svn: 148194
* Reorder initializers, make use of the whole array.Benjamin Kramer2012-01-141-2/+2
| | | | llvm-svn: 148193
* Move the inline array to the end.Benjamin Kramer2012-01-141-3/+4
| | | | llvm-svn: 148192
* Speculatively revert commit 148175 (rafael), to see if this fixesDuncan Sands2012-01-141-4/+2
| | | | | | | | non-determinism in the 32 bit dragonegg buildbot. Original commit message: Only emit the Leh_func_endN symbol when needed. llvm-svn: 148191
* Destroy OverloadCandidates before taking away the underlying memory.Benjamin Kramer2012-01-141-0/+4
| | | | llvm-svn: 148190
* <rdar://problem/10684141>Greg Clayton2012-01-141-6/+10
| | | | | | | When the lldb_private::Debugger goes away, it should cleanup all of its targets. llvm-svn: 148189
* Replace a using declararion with a typedef in the hope of satisfying GCCDouglas Gregor2012-01-143-8/+8
| | | | llvm-svn: 148188
* De-virtualize getPreviousDecl() and getMostRecentDecl() when we knowDouglas Gregor2012-01-1425-246/+255
| | | | | | | | | | | | we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method). Plus, settle on the names getPreviousDecl() and getMostRecentDecl() throughout. llvm-svn: 148187
* Pool allocate ImplicitConversionSequences.Benjamin Kramer2012-01-142-18/+54
| | | | | | | | | | | | | | | | To avoid malloc thrashing give OverloadCandidateSet an inline capacity for conversion sequences. We use the fact that OverloadCandidates never outlive the OverloadCandidateSet and have a fixed amount of conversion sequences. This eliminates the oversized SmallVector from OverloadCandidate shrinking it from 752 to 208 bytes. On the test case from the "Why is CLANG++ so freaking slow" thread on llvmdev this avoids one gig of vector reallocation (including memcpy) which translates into 5-10% speedup on Lion/x86_64. Overload candidate computation is still the biggest malloc contributor when compiling templated c++ code. llvm-svn: 148186
* OverloadCandidateSet: Stop exposing SmallVector internalsBenjamin Kramer2012-01-142-24/+26
| | | | | | | Replace push_back with addCandidate which will let us make use of the fixed size of the conversion sequence vector soon. llvm-svn: 148185
* Introduce Decl::getPreviousDecl() and Decl::getMostRecentDecl(),Douglas Gregor2012-01-146-67/+82
| | | | | | | | virtual functions that provide previous/most recent redeclaration information for any declaration. Use this to eliminate the redundant, less efficient getPreviousDecl() functions. llvm-svn: 148184
* Revert accidental commitDouglas Gregor2012-01-141-3/+1
| | | | llvm-svn: 148183
* Add a FIXME for mutation of the common pointer of a ↵Douglas Gregor2012-01-142-2/+8
| | | | | | RedeclarableTemplateDecl. It is not clear that it's worth delaying the allocation of said pointer llvm-svn: 148182
* Reimplement RedeclarableTemplateDecl in terms ofDouglas Gregor2012-01-145-286/+131
| | | | | | | | | | | Redeclarable<RedeclarableTemplateDecl>, eliminating a bunch of redeclaration-chain logic both in RedeclarableTemplateDecl and especially in its (de-)serialization. As part of this, eliminate the RedeclarableTemplate<> class template, which was an abstraction that didn't actually save anything. llvm-svn: 148181
* Two bug fixes, several clarifications, and a few comment updates.Howard Hinnant2012-01-141-36/+33
| | | | llvm-svn: 148180
* Remove a redundant word.Zhongxing Xu2012-01-141-1/+1
| | | | llvm-svn: 148179
* constexpr irgen: Add irgen support for APValue::Struct, APValue::Union,Richard Smith2012-01-1418-237/+646
| | | | | | | | | | | | | | | | | | | | APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants. Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other entrypoints dealing with constant member pointers are no longer necessary and will be removed in a later change. Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to VarDecl::evaluateValue. This performs caching and deals with the nasty cases in C++11 where a non-const object's initializer can refer indirectly to previously-initialized fields within the same object. Building the intermediate APValue object incurs a measurable performance hit on pathological testcases with huge initializer lists, so we continue to build IR directly from the Expr nodes for array and record types outside of C++11. llvm-svn: 148178
* Fix a corner case hit by redundant phi elimination running after LSR.Andrew Trick2012-01-142-1/+61
| | | | | | Fixes PR11761: bad IR w/ redundant Phi elim llvm-svn: 148177
* [analyzer] Taint: add system and popen as undesirable sinks for taintAnna Zaks2012-01-142-20/+85
| | | | | | data. llvm-svn: 148176
* Only emit the Leh_func_endN symbol when needed.Rafael Espindola2012-01-141-2/+4
| | | | llvm-svn: 148175
* misched: Initial code for building an MI level scheduling DAGAndrew Trick2012-01-144-21/+113
| | | | llvm-svn: 148174
* Move physreg dependency generation into aptly named addPhysRegDeps.Andrew Trick2012-01-142-155/+182
| | | | llvm-svn: 148173
* misched: Added ScheduleDAGInstrs::IsPostRAAndrew Trick2012-01-144-11/+17
| | | | llvm-svn: 148172
* misched: Invoke the DAG builder on each sequence of schedulable instructions.Andrew Trick2012-01-141-6/+31
| | | | llvm-svn: 148171
* Move things around to make the file navigable, even though it will probably ↵Andrew Trick2012-01-141-19/+32
| | | | | | be split up later. llvm-svn: 148170
* [libclang] If CXIndexOpt_IndexFunctionLocalSymbols is enabled, alsoArgyrios Kyrtzidis2012-01-142-3/+19
| | | | | | index parameters. llvm-svn: 148169
OpenPOWER on IntegriCloud