summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* This patch lets LLDB build as an LLVM subproject. LLDB is not built inStephen Wilson2011-02-201-1/+6
| | | | | | | | | | | | parallel with the rest of the tools directory as it depends on Clang. This patch was first applied in r125956 and subsequently reverted in r125964 as it broke in-tree builds. Makefile.rules was fixed up in r126070 to handle missing optional directories for the in-tree case, so it should be safe now to bring this patch back in. llvm-svn: 126071
* Do not try to descend into optional build directories if they do notStephen Wilson2011-02-201-1/+3
| | | | | | | exist. This makes the build logic symmetric for both the in tree and out of tree cases. llvm-svn: 126070
* Implement the C++0x deduced 'auto' feature.Richard Smith2011-02-2049-189/+1019
| | | | | | This fixes PR 8738, 9060 and 9132. llvm-svn: 126069
* Use explicit add_subdirectory's for LLVM target sublibraries insteadOscar Fuentes2011-02-2017-11/+42
| | | | | | | | | of testing for its presence at cmake time. This way the build automatically regenerates the makefiles when a svn update brings in a new sublibrary. llvm-svn: 126068
* Don't limit StreamTee to just two streams. It now can containGreg Clayton2011-02-209-145/+243
| | | | | | | | | | | | | | | | | | | | | | | | | N streams by making the stream a vector of stream shared pointers that is protected by a mutex. Streams can be get/set by index which allows indexes to be defined as stream indentifiers. If a stream is set at index 3 and there are now streams in the collection, then empty stream objects are inserted to ensure that stream at index 3 has a valid stream. There is also an append method that allows a stream to be pushed onto the stack. This will allow our streams to be very flexible in where the output goes. Modified the CommandReturnObject to use the new StreamTee functionality. This class now defines two StreamTee indexes: 0 for the stream string stream, and 1 for the immediate stream. This is used both on the output and error streams. Added the ability to get argument types as strings or as descriptions. This is exported through the SBCommandInterpreter API to allow external access. Modified the Driver class to use the newly exported argument names from SBCommandInterpreter::GetArgumentTypeAsCString(). llvm-svn: 126067
* Expand use of CharUnits in LayoutField(). No change in functionalityKen Dyck2011-02-201-29/+34
| | | | | | intended. llvm-svn: 126066
* Fix typo.Nick Lewycky2011-02-201-1/+1
| | | | llvm-svn: 126065
* Add const qualifier to getTypeInfoInChars().Ken Dyck2011-02-202-4/+4
| | | | llvm-svn: 126064
* Test commit.Richard Smith2011-02-201-1/+0
| | | | llvm-svn: 126063
* Add a LangOptions::areExceptionsEnabled and start using it.Anders Carlsson2011-02-207-10/+13
| | | | llvm-svn: 126062
* Add a new ObjCExceptions member variable to LangOptions. This controls ↵Anders Carlsson2011-02-1911-3/+45
| | | | | | whether Objective-C exceptions are enabled or not (they are by default). llvm-svn: 126061
* Re-instate r125819 and r125820 with no functionality changePeter Collingbourne2011-02-1920-110/+87
| | | | llvm-svn: 126060
* Fix PR9253, allowing attribute(aligned) to reduce the alignment ofChris Lattner2011-02-192-1/+22
| | | | | | a typedef. llvm-svn: 126059
* PR9218: SimplifyDemandedVectorElts can return a non-null value that is notEli Friedman2011-02-192-2/+18
| | | | | | | the instruction passed in. Make sure to account for this correctly, instead of looping infinitely. llvm-svn: 126058
* Don't produce "comparison is always (true|false)" warnings when theDouglas Gregor2011-02-193-3/+13
| | | | | | comparison itself is a constant expression. Fixes PR7536. llvm-svn: 126057
* implement a tiny amount of codegen support for gnu array range Chris Lattner2011-02-192-2/+22
| | | | | | | | designators: allowing codegen when the element initializer is a constant or something else without a side effect. This unblocks enough to let process.c in the linux kernel build, PR9257. llvm-svn: 126056
* In addition to in-class member functions marked with the "used"Douglas Gregor2011-02-192-1/+14
| | | | | | | attribute, we also care about those with the "constructor" attribute. Fixes PR6521. llvm-svn: 126055
* Minor x86 README updates.Eli Friedman2011-02-191-20/+14
| | | | llvm-svn: 126054
* There's no need to return early if we encounter a try/throw and exceptions ↵Anders Carlsson2011-02-192-2/+2
| | | | | | are disabled. llvm-svn: 126053
* Add modules to codegen as soon as possible. This reduces the link timeRafael Espindola2011-02-191-30/+24
| | | | | | of libxul from 12m31.084s to 7m1.359s. llvm-svn: 126052
* Try to fix the MC/AsmParser/section.s failure on the llvm-x86_64-linux-vg_leakCameron Zwarich2011-02-191-4/+4
| | | | | | | bot. I am not sure if this is valid Valgrind exclusion file syntax, but the Internet seems to think so. llvm-svn: 126051
* Revert 125820 and 125819 to fix PR9266.Rafael Espindola2011-02-1920-87/+110
| | | | llvm-svn: 126050
* Fix some add_dependencies.Oscar Fuentes2011-02-192-4/+16
| | | | | | The syntax is (add_dependencies target-name depend-target1 ...). llvm-svn: 126049
* Handle the resolution of a reference to a function template (whichDouglas Gregor2011-02-1912-261/+593
| | | | | | | | includes explicitly-specified template arguments) to a function template specialization in cases where no deduction is performed or deduction fails. Patch by Faisal Vali, fixes PR7505! llvm-svn: 126048
* implement PR9264: disambiguating 'bt mem, imm' as a btl.Chris Lattner2011-02-192-0/+7
| | | | | | | This is reasonable to do since all bt-mem forms do the same thing. llvm-svn: 126047
* Reimplement Token::isAnnotation() using TokenKinds.def. No functionality ↵Peter Collingbourne2011-02-191-3/+5
| | | | | | change. llvm-svn: 126045
* rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byteChris Lattner2011-02-192-34/+39
| | | | | | | | | | | | | | | | | | constant, including globals. This makes us generate much more "pretty" pattern globals as well because it doesn't break it down to an array of bytes all the time. This enables us to handle stores of relocatable globals. This kicks in about 48 times in 254.gap, giving us stuff like this: @.memset_pattern40 = internal constant [2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*] [%struct.TypHeader* (%struct.TypHeader*, %struct .TypHeader*)* @IsFalse, %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)* @IsFalse], align 16 ... call void @memset_pattern16(i8* %scevgep5859, i8* bitcast ([2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*]* @.memset_pattern40 to i8* ), i64 %tmp75) nounwind llvm-svn: 126044
* Stores of null pointers should turn into memset, we weren't recognizingChris Lattner2011-02-192-0/+27
| | | | | | them as splat values. llvm-svn: 126041
* Implement rdar://9009151, transforming strided loop stores ofChris Lattner2011-02-192-32/+152
| | | | | | | | | | | unsplatable values into memset_pattern16 when it is available (recent darwins). This transforms lots of strided loop stores of ints for example, like 5 in vpr: Formed memset: call void @memset_pattern16(i8* %4, i8* getelementptr inbounds ([16 x i8]* @.memset_pattern9, i32 0, i32 0), i64 %tmp25) from store to: {%3,+,4}<%11> at: store i32 3, i32* %scevgep, align 4, !tbaa !4 llvm-svn: 126040
* Disallow try/catch/throw when exceptions are disabled.Anders Carlsson2011-02-194-0/+22
| | | | llvm-svn: 126039
* The member classes of a current instantiation aren't necessarily aDouglas Gregor2011-02-192-8/+37
| | | | | | | | | | | current instantiation, even though we have a RecordDecl describing them. Fixes PR9255. Amusingly, I've had this patch sitting around for a month or two because it was "obviously" wrong, but hadn't gotten around to writing a test case to submit the fix :) llvm-svn: 126038
* Pass -fexceptions to all tests that use try/catch/throw.Anders Carlsson2011-02-1930-41/+43
| | | | llvm-svn: 126037
* Teach the virtual-functions-without-virtual-destructor warning to onlyDouglas Gregor2011-02-192-1/+6
| | | | | | | warn about polymorphic classes (which have virtual functions) rather than dynamic classes (which are polymorphic or have virtual bases). llvm-svn: 126036
* Remove the Fix-It for "main must return 'int'", which is not alwaysDouglas Gregor2011-02-192-13/+1
| | | | | | correct and is not worth fixing. Fixes PR8396. llvm-svn: 126035
* Expand use of CharUnits for alignments further. No change in functionalityKen Dyck2011-02-191-30/+30
| | | | | | intended. llvm-svn: 126034
* Revert all of my commits that devirtualized the Decl hierarchy, whichDouglas Gregor2011-02-199-285/+133
| | | | | | | | lead to a serious slowdown (4%) on parsing of Cocoa.h. This memory optimization should be revisited later, when we have time to look at the generated code. llvm-svn: 126033
* Use PARSE_ARGUMENTS to clean up add_clang_unittest's calling convention.Jeffrey Yasskin2011-02-191-10/+20
| | | | | | | It would be nice to propagate this into the other functions to replace LLVM_LINK_COMPONENTS and friends, but I don't plan to do that. llvm-svn: 126032
* Add the PARSE_ARGUMENTS CMake macro to LLVM so I can use it to cleanJeffrey Yasskin2011-02-191-0/+80
| | | | | | up add_clang_unittest's calling convention. llvm-svn: 126031
* [analyzer] '-analyzer-check-objc-mem' can go through the llvm/clang codebase ↵Argyrios Kyrtzidis2011-02-191-7/+4
| | | | | | without crashing; enable it for C++. llvm-svn: 126026
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-193-2/+18
| | | | llvm-svn: 126025
* Remove support and mc from the clang unittests' dependencies because they're notJeffrey Yasskin2011-02-191-2/+2
| | | | | | | | | needed or provided by the libraries under test. The next step is to import http://www.itk.org/Wiki/CMakeMacroParseArguments to make the empty string parameter unnecessary. llvm-svn: 126024
* Driver/Darwin: Support -Wl, with -Xarch_. This doesn't work naturally because ofDaniel Dunbar2011-02-194-4/+34
| | | | | | the special way we model "linker input" arguments. llvm-svn: 126023
* Use PointerUnion::getAddrOf instead of messing with PointerUnion & ↵Argyrios Kyrtzidis2011-02-191-3/+3
| | | | | | reinterpret_cast. llvm-svn: 126021
* Change 'StoreRef' back to 'Store' in GRState, shrinking the size of GRState ↵Ted Kremenek2011-02-193-26/+50
| | | | | | back by one pointer. llvm-svn: 126020
* Allow getting the address of the value in a PointerUnion or PointerIntPair ↵Argyrios Kyrtzidis2011-02-192-0/+19
| | | | | | | | if one is confident enough that he knows what he is doing. llvm-svn: 126019
* Fix typos.Eric Christopher2011-02-191-2/+2
| | | | llvm-svn: 126018
* Fix a -Wuninitialized warning; it's actually a false positive,John McCall2011-02-191-2/+10
| | | | | | | | | but it's not reasonable for the diagnostic to figure that out. Pointed out by Benjamin Kramer. Also clarify the logic here. llvm-svn: 126017
* Warn about code that uses variables and functions with internal linkageJohn McCall2011-02-1916-42/+220
| | | | | | | | | | | | | | without defining them. This should be an error, but I'm paranoid about "uses" that end up not actually requiring a definition. I'll revisit later. Also, teach IR generation to not set internal linkage on variable declarations, just for safety's sake. Doing so produces an invalid module if the variable is not ultimately defined. Also, fix several places in the test suite where we were using internal functions without definitions. llvm-svn: 126016
* - Changed all the places where CommandObjectReturn was exporting a ↵Jim Ingham2011-02-1925-98/+318
| | | | | | | | | | | | | | | | StreamString to just exporting a Stream, and then added GetOutputData & GetErrorData to get the accumulated data. - Added a StreamTee that will tee output to two provided lldb::StreamSP's. - Made the CommandObjectReturn use this so you can Tee the results immediately to the debuggers output file, as well as saving up the results to return when the command is done executing. - HandleCommands now uses this so that if you have a set of commands that continue the target you will see the commands come out as they are processed. - The Driver now uses this to output the command results as you go, which makes the interface more reactive seeming. llvm-svn: 126015
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-193-6/+9
| | | | llvm-svn: 126013
OpenPOWER on IntegriCloud