summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce the VectorizeConfig class, with which we can control the behaviorHongbin Zheng2012-04-052-34/+126
| | | | | | | | | of the BBVectorizePass without using command line option. As pointed out by Hal, we can ask the TargetLoweringInfo for the architecture specific VectorizeConfig to perform vectorizing with architecture specific information. llvm-svn: 154096
* Fix the remaining atomic tests, all of which were wrong for the case where aDavid Chisnall2012-04-057-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compare-and-exchange failed (it should update the expected value to the current value, and the tests were checking that it didn't...). Results of the atomics part of the test suite on FreeBSD with clang trunk and the atomic.c from compiler-rt (currently kludged into the test, not installed properly): **************************************************** Results for /root/libc++/test/atomics: using clang version 3.1 (trunk 153415) Target: x86_64-unknown-freebsd10.0 Thread model: posix with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o ---------------------------------------------------- sections without tests : 0 sections with failures : 0 sections without failures: 14 + ---- total number of sections : 14 ---------------------------------------------------- number of tests failed : 0 number of tests passed : 52 + ---- total number of tests : 52 **************************************************** Yay! llvm-svn: 154095
* Fix test cases that were trying to make atomic things that are not trivially ↵David Chisnall2012-04-0511-44/+0
| | | | | | | | copyable. Now all of the test cases compile. Some of them even run! llvm-svn: 154094
* Fix use of __atomic_is_lock_free() intrinsic.David Chisnall2012-04-051-2/+2
| | | | llvm-svn: 154093
* Introduce the use_sigaltstack flag (off by default), which enables using ↵Alexander Potapenko2012-04-055-1/+53
| | | | | | | | | alternate per-thread stacks for signal handling. This allows to print more verbose error reports for stack overflows. llvm-svn: 154092
* Allow calling GetCurrentTidOrMinusOne() before AsanThreadRegistry was ↵Alexander Potapenko2012-04-052-0/+4
| | | | | | initialized. llvm-svn: 154091
* An oversight when applying the patches for r150956 and r150957 to a vanilla ↵James Molloy2012-04-052-0/+76
| | | | | | | | tree meant I forgot to svn add these testcases. Noticed while investigating PR12274! llvm-svn: 154090
* Add the function "vectorizeBasicBlock" which allow users vectorize aHongbin Zheng2012-04-052-6/+32
| | | | | | | BasicBlock in other passes, e.g. we can call vectorizeBasicBlock in the loop unroll pass right after the loop is unrolled. llvm-svn: 154089
* ARM assembly aliases for two-operand V[R]SHR instructions.Jim Grosbach2012-04-052-5/+106
| | | | | | rdar://11189467 llvm-svn: 154087
* The DynamicLoaderPOSIXDYLD calls aren't available on Apple systems.Bill Wendling2012-04-051-2/+4
| | | | llvm-svn: 154086
* Add Security framework to the list of frameworks needed for linking.Bill Wendling2012-04-051-1/+1
| | | | llvm-svn: 154085
* Handle symbolicating a reference in an initializer expression that we don't ↵Ted Kremenek2012-04-052-1/+16
| | | | | | understand. llvm-svn: 154084
* Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex ↵Ted Kremenek2012-04-052-3/+10
| | | | | | might not be a symbolic value. llvm-svn: 154083
* In MemoryBuffer::getOpenFile() make sure that the buffer is null-terminated ifArgyrios Kyrtzidis2012-04-051-0/+11
| | | | | | | | | | | | | the caller requested a null-terminated one. When mapping the file there could be a racing issue that resulted in the file being larger than the FileSize passed by the caller. We already have an assertion for this in MemoryBuffer::init() but have a runtime guarantee that the buffer will be null-terminated, so do a copy that adds a null-terminator. Protects against crash of rdar://11161822. llvm-svn: 154082
* Do not crash in the callgraph construction when encountering deleted ↵Ted Kremenek2012-04-052-1/+7
| | | | | | function definitions. Fixes <rdar://problem/11178609>. llvm-svn: 154081
* ARM assembly parsing for 'msr' plain 'cpsr' operand.Jim Grosbach2012-04-052-1/+4
| | | | | | | | Plain 'cpsr' is an alias for 'cpsr_fc'. rdar://11153753 llvm-svn: 154080
* Pass the right sign to TLI->isLegalICmpImmediate.Jakob Stoklund Olesen2012-04-052-2/+15
| | | | | | | | | | | | | | | | | | LSR can fold three addressing modes into its ICmpZero node: ICmpZero BaseReg + Offset => ICmp BaseReg, -Offset ICmpZero -1*ScaleReg + Offset => ICmp ScaleReg, Offset ICmpZero BaseReg + -1*ScaleReg => ICmp BaseReg, ScaleReg The first two cases are only used if TLI->isLegalICmpImmediate() likes the offset. Make sure the right Offset sign is passed to this method in the second case. The ARM version is not symmetric. <rdar://problem/11184260> llvm-svn: 154079
* [analyzer] Move stats calculation out of AnalysisConsumer destructor.Anna Zaks2012-04-051-7/+8
| | | | | | | The ASTConsumer does not get deleted with clang --analyze (for performance reasons), we still want the diagnostics to work. llvm-svn: 154078
* [analyzer] Change warding in a path diagnostic:Anna Zaks2012-04-051-1/+1
| | | | | | | "No method actually called because receiver is nil" -> "No method is called because receiver is nil" llvm-svn: 154077
* [analyzer] Add a coverage calculation to FunctionSummaries.Anna Zaks2012-04-051-0/+10
| | | | llvm-svn: 154076
* [analyzer] Remove redundant if statement (pointed out by Ted).Anna Zaks2012-04-051-4/+0
| | | | llvm-svn: 154075
* Tolerate decimal points in the LLDB version number.Sean Callanan2012-04-051-1/+1
| | | | | | | | They are truncated when generating the version numbers seen in the headers, so for example lldb-100.1 would have #define LLDB_VERSION=100 llvm-svn: 154074
* Improve diagnostics for invalid use of non-static members / this:Richard Smith2012-04-0513-44/+57
| | | | | | | | | | | | * s/nonstatic/non-static/ in the diagnostics, since the latter form outvoted the former by 28-2 in our diagnostics. * Fix the "use of member in static member function" diagnostic to correctly detect this situation inside a block or lambda. * Produce a more specific "invalid use of non-static member" diagnostic for the case where a nested class member refers to a member of a lexically-surrounding class. llvm-svn: 154073
* Add triples to these tests to keep them working on Windows,Richard Smith2012-04-052-2/+2
| | | | | | where wchar_t is only 16 bits wide. llvm-svn: 154072
* RelNote improvements made to -Wliteral-conversion by r141955.David Blaikie2012-04-051-1/+2
| | | | llvm-svn: 154071
* Do not include multiple -arch options in CPPFLAGS.Bob Wilson2012-04-051-3/+2
| | | | llvm-svn: 154070
* Fix assertions and wrong output from StmtPrinter's string literal printing.Richard Smith2012-04-053-7/+55
| | | | | | | | | | String literals (including unicode ones) can contain non-Unicode codepoints if they were written using \x or similar. Write those out using \x, but be careful that the following character can't be misinterpreted as part of the \x escape sequence. Convert UTF-16 surrogate pairs back to codepoints before rendering them. llvm-svn: 154069
* Enable warn_impcast_literal_float_to_integer by default.David Blaikie2012-04-058-12/+17
| | | | | | | | | | | | | | | | | This diagnostic seems to be production ready, it's just an oversight that it wasn't turned on by default. The test changes are a bit of a mixed bag. Some tests that seemed like they clearly didn't need to use this behavior have been modified not to use it. Others that I couldn't be sure about, I added the necessary expected-warnings to. It's possible the diagnostic message could be improved to make it clearer that this warning can be suppressed by using a value that won't lose precision when converted to the target type (but can still be a floating point literal, such as "bool b = 1.0;"). llvm-svn: 154068
* Fixed a problem where we did not read propertiesSean Callanan2012-04-055-25/+153
| | | | | | | | | | | | | | | | correctly if the setter/getter were not present in the debug information. The fixes are as follows: - We not only look for the method by its full name, but also look for automatically-generated methods when searching for a selector in an Objective-C interface. This is necessary to find accessors. - Extract the getter and setter name from the DW_TAG_APPLE_Property declaration in the DWARF if they are present; generate them if not. llvm-svn: 154067
* clang/test/Tooling/clang-check.cpp: Mark it as XFAIL also on cygwin.NAKAMURA Takumi2012-04-041-1/+2
| | | | | | It seems clang-check doesn't like gcc driver on cygming. Investigating. llvm-svn: 154066
* Allow a conversion from the empty initializer list {} to anDouglas Gregor2012-04-042-0/+19
| | | | | | | std::initializer_list<T> so long as <T> is known. This conversion has identity rank. llvm-svn: 154065
* Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE.Nico Weber2012-04-043-1/+12
| | | | | | Review at http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120402/055759.html llvm-svn: 154064
* Fix -Wnon-virtual-dtor warnings.Michael J. Spencer2012-04-041-0/+20
| | | | llvm-svn: 154063
* Reapply 154038 without the failing test.Akira Hatanaka2012-04-043-18/+18
| | | | llvm-svn: 154062
* [driver] When using the -mfpmath= option, add an error message when trying to Chad Rosier2012-04-043-3/+15
| | | | | | | enable neonfp on a CPU that doesn't support NEON. rdar://11108618 llvm-svn: 154061
* Initial, very rough cut at a new CMake build system for compiler-rt.Chandler Carruth2012-04-043-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some high-level notes: 1) An explicit goal is to support building compiler-rt as a subproject build, checked out into the projects/compiler-rt directory. There are many other possible ways of building the code here, but this is optimized for development on LLVM/Clang/compiler-rt, and incremental trial and testing of the toolchain. 2) The current support is targeted at Linux. I would love to see this generalized to other platforms, but for the sake of simplicity in testing, I'm focusing here first. Much of this patch was paired with Manuel, and I credit him with the majority of the work here. Some important caveats that I'll be working on in subsequent patches: 1) This uses the host compiler rather than using the just-built-clang. 2) Currently only x86 is supported. 3) Currently, none of the tests are built or run. 4) Uses CMake's builtin globbing which doesn't update correctly. 5) This is still turned off from LLVM's CMake build until these issues are addressed llvm-svn: 154060
* Remove the old, and non-functional CMake build system from CompilerRT.Chandler Carruth2012-04-0415-403/+0
| | | | | | | | | I cannot build any part of this successfully on either Linux or Darwin, and the replacement is worlds simpler by requiring that this be built as a subproject of LLVM. If this breaks you for any reason, please let me know, and let me know what your use case is. llvm-svn: 154059
* Hardcode a triple to prevent the test failing on targets which don't support ↵Richard Smith2012-04-041-1/+1
| | | | | | __thread. llvm-svn: 154058
* Test commit to check commit access.Simon Atanasyan2012-04-041-1/+0
| | | | llvm-svn: 154056
* Order the initializations so that they reflect how they're declared in the ↵Bill Wendling2012-04-041-1/+1
| | | | | | class. llvm-svn: 154055
* Revert r154038. It was causing make check failures.Owen Anderson2012-04-044-64/+18
| | | | llvm-svn: 154054
* Implement C++11 [temp.arg.nontype]'s permission to use the address of an objectRichard Smith2012-04-045-52/+128
| | | | | | or function with internal linkage as a non-type template argument. llvm-svn: 154053
* Fix an oversight: don't run ARC optimization cleanup at -O0.Dan Gohman2012-04-041-1/+2
| | | | llvm-svn: 154052
* REG_SEQUENCE expansion to COPY instructions wasn't taking account of sub ↵Pete Cooper2012-04-041-1/+2
| | | | | | register indices on the source registers. No simple test case llvm-svn: 154051
* Whitespace.Chad Rosier2012-04-041-2/+2
| | | | llvm-svn: 154050
* [driver] Add a static helper function for handling -mfpu= to remove some codeChad Rosier2012-04-041-76/+45
| | | | | | duplication. No functional change intended. llvm-svn: 154049
* <rdar://problem/11184458>Greg Clayton2012-04-042-5/+20
| | | | | | | | | | | Found an issue where we might still have shared pointer references to lldb_private::Thread objects where the object itself is not valid and has been removed from the Process. When a thread is removed from a process, it will call Thread::DestroyThread() which well set a boolean member variable which is exposed now via: bool Thread::IsValid() const; We then check the thread validity before handing out a shared pointer. llvm-svn: 154048
* Reduce variable scope.David Blaikie2012-04-041-2/+1
| | | | llvm-svn: 154047
* [driver] Create a new -mfpmath= option, which is used to control whether clangChad Rosier2012-04-044-1/+53
| | | | | | | | | | | uses Neon instructions for single-precision FP. -mfpmath=neon is analogous to passing llc -mattr=+neonfp. -mfpmath=[vfp|vfp2|vfp3|vfp4] is analogous to passing llc -mattr=-neonfp. rdar://11108618 llvm-svn: 154046
* Change SBAddress back to using a std::auto_ptr to a lldb_private::Address as ↵Greg Clayton2012-04-043-108/+45
| | | | | | the lldb_private::Address has a weak pointer to the section which has a weak pointer back to the module, so it is safe to have just a lldb_private::Address object now. llvm-svn: 154045
OpenPOWER on IntegriCloud