summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* The final batch of adding @dsym_test/@dwarf_test decorators.Johnny Chen2012-04-064-0/+76
| | | | llvm-svn: 154211
* ARMPat is equivalent to Requires<[IsARM]>.Jakob Stoklund Olesen2012-04-061-3/+2
| | | | llvm-svn: 154210
* Eliminate iOS-specific tail call instructions.Jakob Stoklund Olesen2012-04-063-75/+27
| | | | | | | After register masks were introdruced to represent the call clobbers, it is no longer necessary to have duplicate instruction for iOS. llvm-svn: 154209
* Removed a call to truncate() which slowed downSean Callanan2012-04-061-1/+0
| | | | | | the stress test by a LOT. llvm-svn: 154208
* docs: Import existing www content into Sphinx.Daniel Dunbar2012-04-065-6/+503
| | | | llvm-svn: 154207
* docs: Sketch Sphinx based docs structure.Daniel Dunbar2012-04-0616-0/+1049
| | | | | | | - This uses the llvm-theme developed by Michael Spencer and the base structure (front-facing index page) I use for LNT. llvm-svn: 154206
* Updated the disassembler stress tester with twoSean Callanan2012-04-061-20/+54
| | | | | | | | | | | | new features: (1) it outputs the instruction currently being tested to a log file, if a path is provided (2) if instructed, it prints the time remaining in the exhaustive test llvm-svn: 154205
* SourceManager: Vectorize ComputeLineNumbers for SSE2.Benjamin Kramer2012-04-061-2/+39
| | | | | | | | | | | | | | | | This method is very hot, it is called when emitting diagnostics, in -E mode and for many #pragma handlers. It scans through the whole source file to count newlines, records and caches them in a vector. The speedup from vectorization isn't very large, as we fall back to bytewise scanning when we hit a newline. There might be a way to avoid leaving the sse loop but everything I tried didn't work out because a call to push_back clobbers xmm registers. About 2% speedup on average on "clang -E > /dev/null" of all .cpp files in clang's lib/Sema. llvm-svn: 154204
* [asan] last bit for gcc compatibilityKostya Serebryany2012-04-062-2/+5
| | | | llvm-svn: 154203
* Add lines in global-address.ll to test N32 and N64 code generation.Akira Hatanaka2012-04-061-0/+4
| | | | llvm-svn: 154202
* [asan] minor change to please gccKostya Serebryany2012-04-061-3/+3
| | | | llvm-svn: 154201
* MIPS: Provide a correct path to the dynamic linker when build for MIPS ↵Simon Atanasyan2012-04-062-1/+13
| | | | | | 64-bit targets. llvm-svn: 154200
* There is no portable std::abs overload for int64_t, use the llvm::abs64Chandler Carruth2012-04-061-2/+2
| | | | | | which exists for this purpose. llvm-svn: 154199
* Thread safety analysis: downgraded requirement that mutex expressions refer ↵DeLesley Hutchins2012-04-063-74/+76
| | | | | | to a lockable type from error to warning. llvm-svn: 154198
* Second batch of adding @dsym_test/@dwarf_test decorators to existing test cases.Johnny Chen2012-04-0682-5/+242
| | | | | | | Plus some minor cleanup of test method names. Third and final batch is coming. llvm-svn: 154197
* modern objective-c translator: translate array literalFariborz Jahanian2012-04-062-15/+94
| | | | | | expressions. // rdar://10803676 llvm-svn: 154196
* MIPS: Pass -EB/-EL argument to the assembler according to selected endian ↵Simon Atanasyan2012-04-062-0/+27
| | | | | | when compile for MIPS targets. llvm-svn: 154195
* [analyzer] Check that the arguments to NSOrderedSet creation methods are ↵Jordy Rose2012-04-062-0/+20
| | | | | | | | valid ObjC objects. Patch by Sean McBride! llvm-svn: 154194
* Test for r154189/PR12481Matt Beaumont-Gay2012-04-061-0/+17
| | | | llvm-svn: 154193
* Fixed two leaks in the MC disassembler. The MCSean Callanan2012-04-062-1/+13
| | | | | | | | | | | | | | | disassembler requires a MCSubtargetInfo and a MCInstrInfo to exist in order to initialize the instruction printer and disassembler; however, although the printer and disassembler keep references to these objects they do not own them. Previously, the MCSubtargetInfo and MCInstrInfo objects were just leaked. I have extended LLVMDisasmContext to own these objects and delete them when it is destroyed. llvm-svn: 154192
* Use atexit when __cxa_atexit isn't available instead of adding aJohn McCall2012-04-065-38/+145
| | | | | | | | | global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that. Based on a patch by Nakamura Takumi! llvm-svn: 154191
* Rename GenerateCXXGlobalDtorFunc to GenerateCXXGlobalDtorsFunc.John McCall2012-04-062-6/+6
| | | | llvm-svn: 154190
* Fix a Sema invariant bug that I recently introduced involvingJohn McCall2012-04-063-2/+22
| | | | | | | | | the template instantiation of statement-expressions. I think it was jyasskin who had a crashing testcase in this area; hopefully this fixes it and he can find his testcase and check it in. llvm-svn: 154189
* Clear environment variables that might affect Clang before running tests.Jordy Rose2012-04-061-0/+26
| | | | llvm-svn: 154188
* Added a new attribute, objc_root_class, which informs the compiler when a ↵Patrick Beard2012-04-06209-246/+329
| | | | | | | | | root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> llvm-svn: 154187
* Fixed ModuleList::FindTypes() so that when a symbol context is supplied that ↵Greg Clayton2012-04-061-5/+28
| | | | | | contains a valid module, it will search that module first, then if we are still looking for matches (we have found less that "max_matches"), search in all of the other modules as well. llvm-svn: 154186
* Fixed a leak in the LLVM disassembler where weSean Callanan2012-04-061-0/+10
| | | | | | | did not destroy the underlying disassembler in our destructor. llvm-svn: 154185
* MIPS: Move tests check float ABI macros definitions to the more appropriate ↵Simon Atanasyan2012-04-062-17/+17
| | | | | | place. llvm-svn: 154184
* Allow negative immediates in ARM and Thumb2 compares.Jakob Stoklund Olesen2012-04-062-2/+37
| | | | | | | ARM and Thumb2 mode can use cmn instructions to compare against negative immediates. Thumb1 mode can't. llvm-svn: 154183
* In a prior commit, I changed the parameters around on a ↵Greg Clayton2012-04-067-71/+106
| | | | | | ModuleList::FindTypes where the old parameters that existing clients were using would have been compatible, so I renamed ModuleList::FindTypes to ModuleList::FindTypes2. Then I made fixes and verified I updated and fixed all client code, but I forgot to rename the function back to ModuleList::FindTypes(). I am doing that now and also cleaning up the C++ dynamic type code a bit. llvm-svn: 154182
* Check if the two clang opaque type pointers are equal before doing anything ↵Greg Clayton2012-04-061-0/+3
| | | | | | more exhaustive comparison. llvm-svn: 154181
* Reintroduce InlineCostAnalyzer::getInlineCost() variant with explicit calleeDavid Chisnall2012-04-062-1/+13
| | | | | | | | parameter until we have a more sensible API for doing the same thing. Reviewed by Chandler. llvm-svn: 154180
* Sink the collection of return instructions until after *all*Chandler Carruth2012-04-062-7/+46
| | | | | | | | | | | simplification has been performed. This is a bit less efficient (requires another ilist walk of the basic blocks) but shouldn't matter in practice. More importantly, it's just too much work to keep track of all the various ways the return instructions can be mutated while simplifying them. This fixes yet another crasher, reported by Daniel Dunbar. llvm-svn: 154179
* Tweak this test to ensure the inliner did indeed fire. Thanks to RichardChandler Carruth2012-04-061-0/+1
| | | | | | Smith for pointing this out in review. llvm-svn: 154178
* Fix using Clang as a cross compiler installed on a host machine and notChandler Carruth2012-04-062-6/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inside of a sysroot targeting a system+sysroot which is "similar" or "compatible" with the host system. This shows up when trying to build system images on largely compatible hardware as-if fully cross compiled. The problem is that previously we *perfectly* mimiced GCC here, and it turns out GCC has a bug that no one has really stumbled across. GCC will try to look in thy system prefix ('/usr/local' f.ex.) into which it is instaled to find libraries installed along side GCC that should be preferred to the base system libraries ('/usr' f.ex.). This seems not unreasonable, but it has a very unfortunate consequence when combined with a '--sysroot' which does *not* contain the GCC installation we're using to complete the toolchain. That results in some of the host system's library directories being searched during the link. Now, it so happens that most folks doing stuff like this use '--with-sysroot' and '--disable-multilib' when configuring GCC. Even better, they're usually not cross-compiling to a target that is similar to the host. As a result, searching the host for libraries doesn't really matter -- most of the time weird directories get appended that don't exist (no arm triple lib directory, etc). Even if you're cross-compiling from 32-bit to 64-bit x86 or vice-versa, disabling multilib makes it less likely that you'll actually find viable libraries on the host. But that's just luck. We shouldn't rely on this, and this patch disables looking in the system prefix containing the GCC installation if that system prefix is *outside* of the sysroot. For empty sysroots, this has no effect. Similarly, when using the GCC *inside* of the sysroot, we still track wherever it is installed within the sysroot and look there for libraries. But now we can use a cross compiler GCC installation outside the system root, and only look for the crtbegin.o in the GCC installation, and look for all the other libraries inside the system root. This should fix PR12478, allowing Clang to be used when building a ChromiumOS image without polluting the image with libraries from the host system. llvm-svn: 154176
* zext ivar offsets if required (GNU runtimes).David Chisnall2012-04-061-1/+4
| | | | llvm-svn: 154175
* Make GVN's propagateEquality non-recursive. No intended functionality change.Duncan Sands2012-04-061-98/+105
| | | | | | The modifications are a lot more trivial than they appear to be in the diff! llvm-svn: 154174
* Fixed scoping error for late parsed attributes in nested classes.DeLesley Hutchins2012-04-064-5/+67
| | | | llvm-svn: 154173
* Test case for PR12413Craig Topper2012-04-061-0/+15
| | | | llvm-svn: 154172
* Fix narrowing conversion.Benjamin Kramer2012-04-061-1/+1
| | | | llvm-svn: 154171
* DenseMap: Perform the pod-like object optimization when the value type is ↵Benjamin Kramer2012-04-064-30/+26
| | | | | | | | POD-like, not the DenseMapInfo for it. Purge now unused template arguments. This has been broken since r91421. Patch by Lubos Lunak! llvm-svn: 154170
* MIPS: Add tests for predefined macros for MIPS targets.Simon Atanasyan2012-04-061-0/+439
| | | | llvm-svn: 154168
* [ASan] move replacements for new/delete to separate fileAlexey Samsonov2012-04-065-29/+58
| | | | llvm-svn: 154167
* Allow 256-bit shuffles to be split if a 128-bit lane contains elements from ↵Craig Topper2012-04-062-73/+57
| | | | | | a single source. This is a rewrite of the 256-bit shuffle splitting code based on similar code from legalize types. Fixes PR12413. llvm-svn: 154166
* Add the tests that were supposed to go with r153935 that I forgot svn addCraig Topper2012-04-062-0/+73
| | | | llvm-svn: 154165
* Fix diagnostic text for r154163.David Blaikie2012-04-063-7/+7
| | | | llvm-svn: 154164
* Restrict fixit for missing 'class' in template template parameters.David Blaikie2012-04-066-22/+47
| | | | | | | | | | | Based on Doug's feedback to r153887 this omits the FixIt if the following token isn't syntactically valid for the context. (not a comma, '...', identifier, '>', or '>>') There's a bunch of work to handle the '>>' case, but it makes for a much more pleasant diagnostic in this case. llvm-svn: 154163
* Fix a bug introduced by r153739: We are not able to provide the correctHongbin Zheng2012-04-061-1/+1
| | | | | | | | | | dependent list for target polly-test, hence making "all" from the top of llvm build directory will cause the target "polly-test" being built before its dependencing target built. Patched by Sebastian Pop<spop@codeaurora.org> llvm-svn: 154162
* Added logging when API calls try to do something that shouldn't be done when ↵Greg Clayton2012-04-064-249/+704
| | | | | | | | the process is stopped by having logging calls that end with "error: process is running". Also test for the process to be stopped when many SBValue API calls are made to make sure it is safe to evaluate values, children of values and much more. llvm-svn: 154160
* [asan] add flags: disable_core, abort_on_error and unmap_shadow_on_exitKostya Serebryany2012-04-064-2/+22
| | | | llvm-svn: 154159
OpenPOWER on IntegriCloud