summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate the IS_PHI_DEF flag and VNInfo::setIsPHIDef().Jakob Stoklund Olesen2012-07-275-18/+6
| | | | | | | | A value number is a PHI def if and only if it begins at a block boundary. This can be derived from the def slot, a separate flag is not necessary. llvm-svn: 160893
* Add a -new-live-intervals experimental option.Jakob Stoklund Olesen2012-07-272-1/+37
| | | | | | | | | This option replaces the existing live interval computation with one based on LiveRangeCalc.cpp. The new algorithm does not depend on LiveVariables, and it can be run at any time, before or after leaving SSA form. llvm-svn: 160892
* Implement resolving of HTML character references (named: &, decimal: *,Dmitri Gribenko2012-07-277-34/+553
| | | | | | | | | hex: ) during comment parsing. Now internal representation of plain text in comment AST does not contain character references, but the characters themselves. llvm-svn: 160891
* Add a function to convert a single Unicode code point to a UTF8 sequence.Dmitri Gribenko2012-07-273-2/+33
| | | | llvm-svn: 160890
* Fixing problems with X86_64_32 relocations and making the assertions more ↵Andrew Kaylor2012-07-271-5/+4
| | | | | | readable. llvm-svn: 160889
* Add <imp-def> of super-register when lowering SUBREG_TO_REG.Jakob Stoklund Olesen2012-07-272-5/+8
| | | | | | Patch by Tyler Nowicki! llvm-svn: 160888
* Changed the IRForTarget pass to ensure that allSean Callanan2012-07-271-0/+5
| | | | | | | | | | | | | | sel_getName() calls are generated for all Objective-C selectors before static literals are moved to the static allocation. This prevents errors of the form Internal error [IRForTarget]: Couldn't change a static reference to an Objective-C selector to a dynamic reference <rdar://problem/11331906> llvm-svn: 160887
* Make -Wformat walk the typedef chain when looking for size_t, etc.Hans Wennborg2012-07-275-30/+76
| | | | | | | | | | | | | | Clang's -Wformat fix-its currently suggest using "%zu" for values of type size_t (in C99 or C++11 mode). However, for a type such as std::vector<T>::size_type, it does not notice that type is actually typedeffed to size_t, and instead suggests a format for the underlying type, such as "%lu" or "%u". This commit makes the format string fix mechanism walk the typedef chain so that it notices if the type is size_t, even if that isn't "at the top". llvm-svn: 160886
* Consolidate ObjC lookupPrivateMethod methods from Sema and DeclObjC.Anna Zaks2012-07-278-83/+59
| | | | | | | | | | | | | Also, fix a subtle bug, which occurred due to lookupPrivateMethod defined in DeclObjC.h not looking up the method inside parent's categories. Note, the code assumes that Class's parent object has the same methods as what's in the Root class of a the hierarchy, which is a heuristic that might not hold for hierarchies which do not descend from NSObject. Would be great to fix this in the future. llvm-svn: 160885
* [analyzer] Another false positive in Class method inlining.Anna Zaks2012-07-271-0/+27
| | | | | | | We are currently not setting the self object to the calling class object during inlining nor do we reason about [AAA class]. llvm-svn: 160884
* [analyzer] Address Jordan's and Fariborz's review of r160768.Anna Zaks2012-07-272-4/+5
| | | | llvm-svn: 160883
* SmallVector: Crank up verbosity of asserts per Chandler's request.Benjamin Kramer2012-07-271-3/+19
| | | | | | Also add assertions to validate the iterator in the insert method overloads. llvm-svn: 160882
* The TimePassesIsEnabled has since moved to PassManager.cpp.Chad Rosier2012-07-271-1/+1
| | | | llvm-svn: 160881
* Test commit, clean up commentAndrew Kaylor2012-07-271-1/+1
| | | | llvm-svn: 160880
* Preprocessor: add __BYTE_ORDER__ predefined macroDylan Noblesmith2012-07-272-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | The __BYTE_ORDER__ predefined macro was added in GCC 4.6: http://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html It's used like the following: #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ... #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ... #else #error insane architecture like the pdp-11 #endif There's a similar macro, __FLOAT_WORD_ORDER__, but it looks like it mainly exist to accommodate fairly obscure architectures and ARM's old FPA instructions, so it doesn't seem nearly as useful. The tests are updated to check for the correct(at least, based on clang's current output) value of the macro on each target. So now the suite will catch bugs like the one fixed in r157626. llvm-svn: 160879
* fix PR13390: do not loop forever with self-referencing self instructionsNuno Lopes2012-07-272-0/+27
| | | | llvm-svn: 160876
* tsan: add missing includeDmitry Vyukov2012-07-271-0/+2
| | | | llvm-svn: 160875
* fix infinite loop in instcombine in the presence of a (malformed) ↵Nuno Lopes2012-07-272-0/+21
| | | | | | | | self-referencing select inst. This can happen as long as the instruction is not reachable. Instcombine does generate these unreachable malformed selects when doing RAUW llvm-svn: 160874
* Test commit, clean up commentAndrew Kaylor2012-07-271-1/+1
| | | | llvm-svn: 160873
* [scan-build] Fix clang++ pathnameArnaud A. de Grandmaison2012-07-271-1/+3
| | | | llvm-svn: 160871
* test/Preprocessor: add NVPTX predefine testsDylan Noblesmith2012-07-271-0/+186
| | | | llvm-svn: 160866
* Give MCRegisterInfo an implementation file.Jakob Stoklund Olesen2012-07-273-55/+75
| | | | | | | | Move some functions from MCRegisterInfo.h that don't need to be inline. This shrinks llc by 8K. llvm-svn: 160865
* Fix warning from -Wshadow. Report errors back to caller rather than callingSid Manning2012-07-271-27/+20
| | | | | | llvm::report_fatal_error. llvm-svn: 160864
* tsan: change event handling from single HandleEvent() to a set of separate ↵Dmitry Vyukov2012-07-273-151/+137
| | | | | | functions (Go runtime) llvm-svn: 160863
* tasn: do not remember stack traces for sync objects for Go (they are not ↵Dmitry Vyukov2012-07-271-0/+2
| | | | | | reported anyway) llvm-svn: 160861
* tsan: remove unnecessary and wrong includeDmitry Vyukov2012-07-271-1/+0
| | | | llvm-svn: 160860
* Fix an assertion failure when code completing an auto variable's initialiser.Peter Collingbourne2012-07-272-0/+3
| | | | llvm-svn: 160857
* Fix PR13394: Erasing from a vector changes the end of the vector, so make ↵Benjamin Kramer2012-07-272-3/+19
| | | | | | sure we always have the right end. llvm-svn: 160855
* SmallVector::erase: Assert that iterators are actually inside the vector.Benjamin Kramer2012-07-271-0/+3
| | | | | | | | The rationale here is that it's hard to write loops containing vector erases and it only shows up if the vector contains non-trivial objects leading to crashes when forming them out of garbage memory. llvm-svn: 160854
* [asan] ensure that asan_init is called in str[n]cmp. Bug found by Nick ↵Kostya Serebryany2012-07-271-0/+2
| | | | | | Kralevich (thanks) llvm-svn: 160853
* Clean up includes.Craig Topper2012-07-271-1/+1
| | | | llvm-svn: 160852
* clang/lib: [CMake] Update tblgen'd dependencies.NAKAMURA Takumi2012-07-2717-0/+42
| | | | llvm-svn: 160851
* clang/lib: [CMake] Reformat, alphabetize lists.NAKAMURA Takumi2012-07-2712-21/+22
| | | | llvm-svn: 160850
* libclang, examples: [CMake] Add dependencies to tblgen'd headers.NAKAMURA Takumi2012-07-273-0/+31
| | | | llvm-svn: 160849
* clang/CMakeLists.txt: Move "examples" after building lib and tools.NAKAMURA Takumi2012-07-271-3/+3
| | | | llvm-svn: 160848
* Final piece of core issue 1330: delay computing the exception specification ofRichard Smith2012-07-2724-332/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a defaulted special member function until the exception specification is needed (using the same criteria used for the delayed instantiation of exception specifications for function temploids). EST_Delayed is now EST_Unevaluated (using 1330's terminology), and, like EST_Uninstantiated, carries a pointer to the FunctionDecl which will be used to resolve the exception specification. This is enabled for all C++ modes: it's a little faster in the case where the exception specification isn't used, allows our C++11-in-C++98 extensions to work, and is still correct for C++98, since in that mode the computation of the exception specification can't fail. The diagnostics here aren't great (in particular, we should include implicit evaluation of exception specifications for defaulted special members in the template instantiation backtraces), but they're not much worse than before. Our approach to the problem of cycles between in-class initializers and the exception specification for a defaulted default constructor is modified a little by this change -- we now reject any odr-use of a defaulted default constructor if that constructor uses an in-class initializer and the use is in an in-class initialzer which is declared lexically earlier. This is a closer approximation to the current draft solution in core issue 1351, but isn't an exact match (but the current draft wording isn't reasonable, so that's to be expected). llvm-svn: 160847
* [analyzer] Look through SubstNonTypeTemplateParmExprs.Jordan Rose2012-07-273-2/+20
| | | | | | | | | | | We were treating this like a CXXDefaultArgExpr, but SubstNonTypeTemplateParmExpr actually appears when a template is instantiated, i.e. we have all the information necessary to evaluate it. This allows us to inline functions like llvm::array_lengthof. <rdar://problem/11949235> llvm-svn: 160846
* [analyzer] Use a stack-based local AGAIN to fix the build for real.Jordan Rose2012-07-271-11/+16
| | | | | | | | It's a good thing CallEvents aren't created all over the place yet. I checked all the uses this time and the private copy constructor /really/ shouldn't cause any more problems. llvm-svn: 160845
* Eliminate the large XXXSubRegTable constant arrays.Jakob Stoklund Olesen2012-07-272-66/+63
| | | | | | | | | | | These tables were indexed by [register][subreg index] which made them, very large and sparse. Replace them with lists of sub-register indexes that match the existing lists of sub-registers. MCRI::getSubReg() becomes a very short linear search, like getSubRegIndex() already was. llvm-svn: 160843
* Remove support for 'CompositeIndices' and sub-register cycles.Jakob Stoklund Olesen2012-07-262-67/+19
| | | | | | | | | | | | Now that the weird X86 sub_ss and sub_sd sub-register indexes are gone, there is no longer a need for the CompositeIndices construct in .td files. Sub-register index composition can be specified on the SubRegIndex itself using the ComposedOf field. Also enforce unique names for sub-registers in TableGen. The same sub-register cannot be available with multiple sub-register indexes. llvm-svn: 160842
* Pass the correct call frame size to callseq_start node. This is needed toAkira Hatanaka2012-07-261-15/+10
| | | | | | | replace uses of function getMaxCallFrameSize defined in MipsFunctionInfo with the one MachineFrameInfo has. llvm-svn: 160841
* [analyzer] Use a stack-based local instead of a temporary to fix build.Jordan Rose2012-07-261-4/+4
| | | | | | | Passing a temporary via reference parameter still requires a visible copy constructor. llvm-svn: 160840
* objc-arc: When objects with known CF semantics are assigned toFariborz Jahanian2012-07-2610-93/+59
| | | | | | | | retainable types in arc, only suggest CFBridgingRelease/ CFBridgingRetain and not the confusing __bridge casts. // rdar://11923822 llvm-svn: 160839
* Simplify demanded bits of select sources where the condition is a constant ↵Pete Cooper2012-07-263-0/+53
| | | | | | vector llvm-svn: 160835
* Remove the X86 sub_ss and sub_sd sub-register indexes completely.Jakob Stoklund Olesen2012-07-261-6/+1
| | | | llvm-svn: 160833
* Remove the last mentions of sub_ss and sub_sd from patterns.Jakob Stoklund Olesen2012-07-261-4/+4
| | | | | | I'll remove these two sub-register indexes shortly. llvm-svn: 160831
* Eliminate sub_ss, sub_sd from broadcast patterns.Jakob Stoklund Olesen2012-07-261-42/+16
| | | | | | | | The (COPY_TO_REGCLASS GR32:$src, VR128) pattern looks odd, but copyPhysReg does the right thing with it. (The old pattern would eventually produce the same cross-class copy). llvm-svn: 160830
* Don't have ExecutionContextRef::SetTargetPtr fill in the frameJason Molenda2012-07-261-1/+1
| | | | | | | | | | | information if we're not stopped. This could try to read registers etc when the process is still running and debug builds of lldb would assert down in GDBRemoteRegisterContext.cpp ReadRegisterBytes because we couldn't get the sequence mutex for talking to the remote system. Non-debug builds would just silently fail when doing this. <rdar://problem/11941758> llvm-svn: 160829
* Teach SimplifyDemandedBits how to look through fpext and fptrunc to simplify ↵Pete Cooper2012-07-262-0/+34
| | | | | | their operand llvm-svn: 160823
* Tweak test case to not emit warning.Ted Kremenek2012-07-261-3/+2
| | | | llvm-svn: 160822
OpenPOWER on IntegriCloud