summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unnecessary FIXMEAndrew Trick2012-06-261-3/+0
| | | | llvm-svn: 159182
* Add API logging to SBCommandInterpreter::HandleCompletion().Jim Ingham2012-06-261-0/+8
| | | | llvm-svn: 159180
* Make sure type is not extended or untyped before create a constant of the ↵Evan Cheng2012-06-261-0/+4
| | | | | | type. No test case. Found by inspection. llvm-svn: 159179
* Typo.Eric Christopher2012-06-261-1/+1
| | | | llvm-svn: 159178
* fix help with bashNuno Lopes2012-06-251-1/+1
| | | | llvm-svn: 159177
* Make some ugly hacks for inline asm operands which name a specific register ↵Eli Friedman2012-06-252-5/+21
| | | | | | a bit more thorough. PR13196. llvm-svn: 159176
* revert my previous commit (r159173), since as Eli pointed out, it's ↵Nuno Lopes2012-06-252-1/+2
| | | | | | perfectly ok to mark realloc as noalias llvm-svn: 159175
* build/compiler-rt: Companion commit to r159172.Daniel Dunbar2012-06-251-2/+2
| | | | llvm-svn: 159174
* do not set realloc() as NotAlias, since it can return the same pointer. This ↵Nuno Lopes2012-06-252-2/+1
| | | | | | whole thing should be upgraded to use the MemoryBuiltin interface anyway.. llvm-svn: 159173
* build/clang_darwin: More principled fix for PR12918; none of this stuff shouldDaniel Dunbar2012-06-251-77/+1
| | | | | | be built here. llvm-svn: 159172
* Give L__FUNCTION__ the right type in templates. PR13206.Nico Weber2012-06-252-1/+21
| | | | llvm-svn: 159171
* Add tests that I wrote for r159060 but forgot to `svn add`.Nico Weber2012-06-252-0/+29
| | | | llvm-svn: 159170
* ARM: enable struct byval for APCS.Manman Ren2012-06-251-6/+10
| | | | | | Revert r136662 which disables ARM byval. llvm-svn: 159168
* PR12937: Explicitly deleting an explicit template specialization.David Blaikie2012-06-253-2/+23
| | | | | | | | | | | | | | | This works around a quirk in the way that explicit template specializations are handled in Clang. We generate an implicit declaration from the original template which the explicit specialization is considered to redeclare. This trips up the explicit delete logic. This change only works around that strange representation. At some point it'd be nice to remove those extra declarations to make the AST more accurately reflect the C++ semantics. Review by Doug Gregor. llvm-svn: 159167
* ARM: update peephole optimization.Manman Ren2012-06-252-2/+30
| | | | | | | | | | More condition codes are included when deciding whether to remove cmp after a sub instruction. Specifically, we extend from GE|LT|GT|LE to GE|LT|GT|LE|HS|LS|HI|LO|EQ|NE. If we have "sub a, b; cmp b, a; movhs", we should be able to replace with "sub a, b; movls". rdar: 11725965 llvm-svn: 159166
* Fix CMake build to use target_link_libraries. Patch by Sidney Manning!Michael J. Spencer2012-06-251-11/+8
| | | | llvm-svn: 159165
* Extend the "expected ';' after struct" logic to also apply to enums, and toRichard Smith2012-06-256-78/+130
| | | | | | struct and enum forward-declarations. llvm-svn: 159164
* Define DAGOperand, an empty base class for RegisterClass and Operand. This ↵Owen Anderson2012-06-251-2/+9
| | | | | | allows one to write multiclasses that are polymorphic over both registers and non-register operands. llvm-svn: 159162
* Use std::map instead of llvm::DenseMap because we rely on the stability of ↵Eli Friedman2012-06-252-2/+48
| | | | | | references to values in these maps. PR13197. llvm-svn: 159161
* [analyzer] Be careful about implicitly-declared operator new/delete. (PR13090)Jordan Rose2012-06-253-4/+24
| | | | | | | | The implicit global allocation functions do not have valid source locations, but we still want to treat them as being "system header" functions for the purposes of how they affect program state. llvm-svn: 159160
* Unrevert r158887, reverted in r158949, along with a fix for the bug whichRichard Smith2012-06-258-217/+518
| | | | | | | | | | | | | | | | | | | | resulted in it being reverted. A test for that bug was added in r158950. Original comment: If an object (such as a std::string) with an appropriate c_str() member function is passed to a variadic function in a position where a format string indicates that c_str()'s return type is desired, provide a note suggesting that the user may have intended to call the c_str() member. Factor the non-POD-vararg checking out of DefaultVariadicArgumentPromotion and move it to SemaChecking in order to facilitate this. Factor the call checking out of function call checking and block call checking, and extend it to cover constructor calls too. Patch by Sam Panzer! llvm-svn: 159159
* Fix the objc_autoreleasedReturnValue optimization code to locateDan Gohman2012-06-252-6/+48
| | | | | | | the call correctly even in the case where it is an invoke. This fixes rdar://11714057. llvm-svn: 159157
* Thread safety analysis: implement lock_returned attribute.DeLesley Hutchins2012-06-252-46/+191
| | | | llvm-svn: 159152
* Appease -Wnon-virtual-dtor and fix a typo in a commentMatt Beaumont-Gay2012-06-251-2/+4
| | | | llvm-svn: 159151
* Enforce stricter liveness rules for PHIs.Jakob Stoklund Olesen2012-06-252-6/+37
| | | | | | | | | | | | | Verify that all paths from the entry block to a virtual register read pass through a def. Enable this check even when MRI->isSSA() is false. Verify that the live range of a virtual register is live out of all predecessor blocks, even for PHI-values. This requires that PHIElimination sometimes inserts IMPLICIT_DEF instruction in predecessor blocks. llvm-svn: 159150
* Run ProcessImplicitDefs on SSA form where it can be much simpler.Jakob Stoklund Olesen2012-06-253-264/+101
| | | | | | | | | | | Implicitly defined virtual registers can simply have the <undef> bit set on all uses, and copies can be turned into implicit defs recursively. Physical registers are a bit trickier. We handle the common case where a physreg def is used by a nearby instruction in the same basic block. For more complicated cases, just leave the IMPLICIT_DEF instruction in. llvm-svn: 159149
* Make explicit specializations at class scope workNico Weber2012-06-256-12/+62
| | | | | | | for non-type template parameters in microsoft mode. PR12709. llvm-svn: 159147
* improve optimization of invoke instructions:Nuno Lopes2012-06-255-5/+63
| | | | | | | | - simplifycfg: invoke undef/null -> unreachable - instcombine: invoke new -> invoke expect(0, 0) (an arbitrary NOOP intrinsic; only done if the allocated memory is unused, of course) - verifier: allow invoke of intrinsics (to make the previous step work) llvm-svn: 159146
* check for the NoAlias attribute through CallSiteNuno Lopes2012-06-251-2/+2
| | | | llvm-svn: 159145
* add CallSite/CallInst/InvokeInst::hasFnAttr()Nuno Lopes2012-06-252-11/+26
| | | | llvm-svn: 159144
* [asan] update the cmake file for asanKostya Serebryany2012-06-251-1/+0
| | | | llvm-svn: 159143
* tsan: remove internal allocator, switch to sanitizer_common one.Dmitry Vyukov2012-06-253-4/+70
| | | | llvm-svn: 159142
* tsan: remove internal allocator, switch to sanitizer_common one.Dmitry Vyukov2012-06-254-136/+3
| | | | llvm-svn: 159141
* [tsan] lintKostya Serebryany2012-06-251-1/+1
| | | | llvm-svn: 159140
* [tsan] minor changes in tsan allocatorKostya Serebryany2012-06-252-4/+9
| | | | llvm-svn: 159139
* PR13013: ELF Type identification fails for MSB type ELF files.Meador Inge2012-06-252-2/+16
| | | | | | | | | Fix 'sys::IdentifyFileType' to work with big and little endian byte orderings when reading the ELF object file type. Initial patch by Stefan Hepp. llvm-svn: 159138
* [tsan] fix the buildKostya Serebryany2012-06-251-3/+1
| | | | llvm-svn: 159137
* If a constant or a function has linkonce_odr linkage and unnamed_addr, mark itRafael Espindola2012-06-253-0/+31
| | | | | | | | hidden. Being linkonce_odr guarantees that it is available in every dso that needs it. Being a constant/function with unnamed_addr guarantees that the copies don't have to be merged. llvm-svn: 159136
* [asan] move tests from asan_interface_test.cc to asan_noinst_test.cc. Now ↵Kostya Serebryany2012-06-253-380/+360
| | | | | | all these tests do not require instrumentation and work directly with asan rt llvm-svn: 159135
* Cleanup the handling of CFLAGS even more in the cmake build for ASan.Chandler Carruth2012-06-254-8/+67
| | | | | | | | | | | | | | | | | | | | | | | | | Add the initial support for building ASan tests. The first change here is to try to get the CFLAGS to more closely match those used by the old Makefile. There are probably still goofs here, ASan folks, your review would be appreciated. The second big change is to add support for building both instrumentation based an non-instrumentation based unittests for ASan. They are built a bit differently from how the old makefiles managed things. Specifically, there are two binaries, one for the non-instrumented case, and one for the instrumented case. Also, the instrumented unit tests rely on the host compiler supporting AddressSanitizer's intrumentation pass. This is kind-of gross, but I don't know of a better way yet. I've mailed llvmdev to discuss this issue. One big caveat is that the detection logic currently doesn't work. I've commented it out temporarily as I'd like to get feedback from the ASan developers, etc. llvm-svn: 159134
* The name (and comment describing) of llvm::GetFirstDebuigLocInBasicBlock no ↵Eli Bendersky2012-06-253-15/+5
| | | | | | longer represents what the function does. Therefore, the function is removed and its functionality is folded into the only place in the code-base where it was being used. llvm-svn: 159133
* [asan] get rid of '#include <malloc.h>' in the implementation of malloc ↵Kostya Serebryany2012-06-251-20/+26
| | | | | | interceptors llvm-svn: 159132
* Add test for -Wused-but-marked-unused on private fields.Daniel Jasper2012-06-251-2/+4
| | | | llvm-svn: 159130
* Another big step toward a viable CMake build system for CompilerRT,Chandler Carruth2012-06-255-10/+85
| | | | | | | | | | | | | | | | | | | | | | | ASan, and friends. This explicitly switches the CompilerRT CMake build to require CMake version 2.8.8 or newer which provides first-class support for "object" libraries which consist of a pile of '.o' files -- exactly what is desired for composing runtime libraries. I've gone ahead and switched to using this. I've also added the interception library which I missed initially. And I've added proper dependencies between the various libraries. With this, I'm able to build archives for asan that appear to contain all of the necessary .o files. The final tweak here is to start setting up the compile flags and macro defines expected by ASan and its helper libraries. These may not be entirely correct currently, they're based loosely on my reading of the old Makefiles. However, they can be tweaked more easily now that they're wired up properly. llvm-svn: 159129
* Lots of trivial changes to remove extraneous semicolons throughout ASan.Chandler Carruth2012-06-254-19/+19
| | | | llvm-svn: 159128
* Add SSE2 predicate to CVTPS2PD instructions. Doesn't matter much because ↵Craig Topper2012-06-251-0/+3
| | | | | | there are no patterns in the instruction. llvm-svn: 159127
* Remove codegen only instruction in favor of one that has the same ↵Craig Topper2012-06-252-13/+10
| | | | | | definition. Make some pattern operands more explicit about types. llvm-svn: 159126
* Just remove generic support for C++11 alignas -- GCC is alreadyChandler Carruth2012-06-251-1/+1
| | | | | | | | advertising complete support w/o alignas implemented, and its implementation of alignas in the latest versions is so convoluted as to be unusable. llvm-svn: 159125
* [tsan] a better CHECK for OOM in the new allocatorKostya Serebryany2012-06-252-6/+31
| | | | llvm-svn: 159122
* Teach PHIElimination to handle <undef> operands.Jakob Stoklund Olesen2012-06-251-19/+34
| | | | | | | | | When a PHI use is <undef>, don't emit a copy in the predecessor block, but insert an IMPLICIT_DEF instruction instead. This ensures that virtual register uses are always jointly dominated by defs, even if some of them are IMPLICIT_DEF. llvm-svn: 159121
OpenPOWER on IntegriCloud