summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* add a missed loop deletion case.Chris Lattner2011-02-211-0/+14
| | | | llvm-svn: 126103
* Add some (disabled code) to print out negative strides.Chris Lattner2011-02-211-3/+15
| | | | llvm-svn: 126102
* add an idiom that loop idiom could theoretically catch.Chris Lattner2011-02-211-0/+10
| | | | llvm-svn: 126101
* A lo/hi mul has higher latency than an imul r,ri, e.g. 5 cycles compared to 3Cameron Zwarich2011-02-211-35/+0
| | | | | | on Core 2 and Nehalem, so the code we generate is better than GCC's here. llvm-svn: 126100
* Use a vector of pairs to implement the section stack, not twoJoerg Sonnenberger2011-02-212-23/+18
| | | | | | independent vectors. llvm-svn: 126099
* Clean up the tests for warning about unused function results given theChandler Carruth2011-02-213-11/+46
| | | | | | | | appropriate attribute. Add a bit more testing that finds a pretty bad regression (since ~forever) in this warning. Fix it with a nice 2 line change. =] llvm-svn: 126098
* The signed version of our "magic number" computation for the integer ↵Cameron Zwarich2011-02-214-8/+24
| | | | | | | | | | | | | approximation of a constant had a minor typo introduced when copying it from the book, which caused it to favor negative approximations over positive approximations in many cases. Positive approximations require fewer operations beyond the multiplication. In the case of division by 3, we still generate code that is a single instruction larger than GCC's code. llvm-svn: 126097
* Allow -Wformat to be enabled without -Wformat-security. GCC gatesChandler Carruth2011-02-212-2/+14
| | | | | | | | -Wformat-security on -Wformat, not vice-versa. Fixes PR8486. Patch by Oleg Slezberg. llvm-svn: 126096
* Put targets on folders, if the IDE supports the feature.Oscar Fuentes2011-02-205-1/+12
| | | | | | Requires CMake 2.8.3 or newer. llvm-svn: 126094
* New function for tablegenning: clang_tablegen.Oscar Fuentes2011-02-208-78/+85
| | | | llvm-svn: 126093
* Put targets on folders, if the IDE supports the feature.Oscar Fuentes2011-02-2011-6/+26
| | | | | | Requires CMake 2.8.3 or newer. llvm-svn: 126092
* Add some limited support for labels in org directives. Hopefully enough to fixRafael Espindola2011-02-202-1/+30
| | | | | | PR9245. llvm-svn: 126091
* Correct name of dependent target.Oscar Fuentes2011-02-201-1/+1
| | | | | | | CMake complained about this while generating VS project files but was okay with it while generating makefiles on Linux. llvm-svn: 126090
* Dispose modules early and only create codegen when the plugin is beingRafael Espindola2011-02-201-5/+19
| | | | | | used by the linker and not by nm or ar. llvm-svn: 126089
* Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add aNick Lewycky2011-02-203-50/+17
| | | | | | | | | test for that. With this change, test/CodeGen/X86/codegen-dce.ll no longer finds any instructions to DCE, so delete the test. Also renamed J and JP to I and IP in RecursivelyDeleteDeadPHINode. llvm-svn: 126088
* tests: Fix test on Win32.Daniel Dunbar2011-02-201-1/+1
| | | | llvm-svn: 126087
* Fix some memory leaks and avoid looking in the hash tables twice.Rafael Espindola2011-02-202-35/+53
| | | | | | libxul links in 7m0.403s. llvm-svn: 126085
* Remove unused function.Benjamin Kramer2011-02-201-10/+0
| | | | llvm-svn: 126084
* Remove the link to Projects.html. It is useless for people working onOscar Fuentes2011-02-201-2/+0
| | | | | | Visual Studio. llvm-svn: 126083
* Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer2011-02-202-16/+18
| | | | llvm-svn: 126082
* InstCombine: Add a bunch of combines of the form x | (y ^ z).Benjamin Kramer2011-02-202-0/+135
| | | | | | | | | We usually catch this kind of optimization through InstSimplify's distributive magic, but or doesn't distribute over xor in general. "A | ~(A | B) -> A | ~B" hits 24 times on gcc.c. llvm-svn: 126081
* Fix 9267; Add vector zext support.Nadav Rotem2011-02-203-5/+78
| | | | | | | | The DAGCombiner folds the zext into complex load instructions. This patch prevents this optimization on vectors since none of the supported targets knows how to perform load+vector_zext in one instruction. llvm-svn: 126080
* Turn on __has_feature(cxx_auto_type). The feature is now fully implemented.Richard Smith2011-02-202-3/+2
| | | | llvm-svn: 126078
* Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. PatchNick Lewycky2011-02-203-6/+71
| | | | | | by Andrew Clinton! llvm-svn: 126077
* Instead of keeping two Value*->id# mappings, keep one Value->Value mapping andNick Lewycky2011-02-201-12/+14
| | | | | | | one Value set. This is faster because we only need to use the set when there isn't already an entry in the map. No functionality change! llvm-svn: 126076
* Remove a dead variable.Daniel Dunbar2011-02-201-1/+0
| | | | llvm-svn: 126073
* If both operands are loads from stores in memory we can't use movlpd/movlpsEric Christopher2011-02-201-0/+4
| | | | | | | | | since one needs to be a register operand. Just use movss instead of forcing an operand into a register. Fixes PR9239 llvm-svn: 126072
* 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
OpenPOWER on IntegriCloud