summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Inline a trivial clear() method.Benjamin Kramer2012-05-192-11/+6
| | | | llvm-svn: 157114
* Provide move semantics for TinyPtrVector and for DenseMap's rehash function.Benjamin Kramer2012-05-192-2/+13
| | | | | | This makes DenseMap<..., TinyPtrVector<...>> as cheap as it always should've been! llvm-svn: 157113
* Ordinary PR1255 patch: DifferenceEngine and CPPBackend adopted to the new ↵Stepan Dyatkovskiy2012-05-192-5/+5
| | | | | | SwitchInst methods. llvm-svn: 157112
* Simplify code, add an assertion.Benjamin Kramer2012-05-191-5/+2
| | | | llvm-svn: 157111
* Fixes the case where we created a dummy target, deleted it, and then tried ↵Filipe Cabecinhas2012-05-194-14/+27
| | | | | | to evaluate an expression with no target. llvm-svn: 157110
* Copy some AVX support from MCJIT to JIT. Maybe will fix PR12748.Craig Topper2012-05-191-17/+29
| | | | llvm-svn: 157109
* Revert my _LIBCPP_INLINE_VISIBILITY changes, r157097 and r157107Douglas Gregor2012-05-191-222/+129
| | | | llvm-svn: 157108
* valarray resize should not be _LIBCPP_INLINE_VISIBILITYDouglas Gregor2012-05-191-1/+0
| | | | llvm-svn: 157107
* Eliminate dead code after remat.Jakob Stoklund Olesen2012-05-191-1/+3
| | | | | | This will remove the original def once it has no more uses. llvm-svn: 157104
* Don't remat during updateRegDefsUses().Jakob Stoklund Olesen2012-05-191-22/+5
| | | | | | | | | | | Remaining virtreg->physreg copies were rematerialized during updateRegDefsUses(), but we already do the same thing in joinCopy() when visiting the physreg copy instruction. Eliminate the preserveSrcInt argument to reMaterializeTrivialDef(). It is now always true. llvm-svn: 157103
* Immediately erase trivially useless copies.Jakob Stoklund Olesen2012-05-191-2/+4
| | | | | | | There is no need for these instructions to stick around since they are known to be not dead. llvm-svn: 157102
* Run proper recursive dead code elimination during coalescing.Jakob Stoklund Olesen2012-05-192-21/+63
| | | | | | | | | | | | | | | Dead copies cause problems because they are trivial to coalesce, but removing them gived the live range a dangling end point. This patch enables full dead code elimination which trims live ranges to their uses so end points don't dangle. DCE may erase multiple instructions. Put the pointers in an ErasedInstrs set so we never risk visiting erased instructions in the work list. There isn't supposed to be any dead copies entering RegisterCoalescer, but they do slip by as evidenced by test/CodeGen/X86/coalescer-dce.ll. llvm-svn: 157101
* Allow LiveRangeEdit to be created with a NULL parent.Jakob Stoklund Olesen2012-05-195-13/+16
| | | | | | The dead code elimination with callbacks is still useful. llvm-svn: 157100
* Move _LIBCPP_VISIBLE_INLINE from the out-of-line definitions of memberDouglas Gregor2012-05-191-129/+223
| | | | | | | functions to the original declarations, so that Clang will actually see them. Part of <rdar://problem/11489333>. llvm-svn: 157097
* Updated LLVM to take a disassembler fix that causesSean Callanan2012-05-194-494/+533
| | | | | | | the LOCK prefix to be printed explicitly when it's the first prefix on the instruction. llvm-svn: 157096
* Update API usage for llvm DIBuilder changes for rvalue referenceEric Christopher2012-05-192-4/+17
| | | | | | | | types and ensure we are actually creating the type. rdar://11479676 llvm-svn: 157095
* Actually support DW_TAG_rvalue_reference_type that we were tryingEric Christopher2012-05-194-11/+56
| | | | | | | | to generate out of the front end. rdar://11479676 llvm-svn: 157094
* Add support for the 'd' mips inline asm output modifier.Eric Christopher2012-05-192-12/+23
| | | | | | Patch by Jack Carter. llvm-svn: 157093
* SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond.Andrew Trick2012-05-193-1/+58
| | | | | | | | | | getUDivExpr attempts to simplify by checking for overflow. isLoopEntryGuardedByCond then evaluates the loop predicate which may lead to the same getUDivExpr causing endless recursion. Fixes PR12868: clang 3.2 segmentation fault. llvm-svn: 157092
* bump to lldb-150.Jason Molenda2012-05-194-21/+21
| | | | llvm-svn: 157090
* [analyzer] c++11: do not crash on namespace aliasAnna Zaks2012-05-192-0/+23
| | | | llvm-svn: 157089
* [analyzer] For locations, use isGLValue() instead of isLValue().Anna Zaks2012-05-195-16/+16
| | | | llvm-svn: 157088
* Forgot to bump the local string buffer up in size after debugging to make ↵Greg Clayton2012-05-191-1/+1
| | | | | | sure long strings would be correctly read when the buffer is too small for the string. llvm-svn: 157087
* Suggest adding 'typename' when it would make the compilerKaelyn Uhrain2012-05-183-0/+75
| | | | | | accept the template argument expression as a type. llvm-svn: 157085
* Add test cases where we start three worker threads, with a write watchpoint ↵Johnny Chen2012-05-181-0/+87
| | | | | | | | | | set. As soon as a watchpoint is hit in either of the worker thread, we delete the watchpoint. The test succeeds when no more watchpoint hit event fires after the deletion of the watchpoint. related to rdar://problem/11320188 llvm-svn: 157084
* Found a quick way to improve the speed with which we can read object files ↵Greg Clayton2012-05-183-23/+75
| | | | | | from memory when they are in the shared cache: always read the symbol table strings from memory and let the process' memory cache do the work. llvm-svn: 157083
* [analyzer] Fix a c++11 crash: xvalues can be locations (VisitMemberExpr)Anna Zaks2012-05-182-1/+13
| | | | llvm-svn: 157082
* [analyzer] Malloc checker: remove unnecessary comparisons.Anna Zaks2012-05-181-16/+10
| | | | llvm-svn: 157081
* Fix replacing all the users of objc weak runtime routinesDan Gohman2012-05-182-2/+58
| | | | | | when deleting them. rdar://11434915. llvm-svn: 157080
* Modernize naming convention for class members.Jakob Stoklund Olesen2012-05-182-45/+45
| | | | | | No functional change. llvm-svn: 157079
* Warn when we detect a valid dSYM file that is empty. This can happen when a ↵Greg Clayton2012-05-181-0/+22
| | | | | | dSYM file is created from a binary with no debug info, that has been stripped, or when the .o files are not available when the dSYM is created. llvm-svn: 157078
* Cleanup a custom thread-format so we don't fail TestLoadUnload when running theFilipe Cabecinhas2012-05-181-0/+8
| | | | | | test suite for two architectures (the full path to d.c would appear). llvm-svn: 157077
* objc: use "class extension" instead of "continuation class"Fariborz Jahanian2012-05-185-13/+13
| | | | | | to match documentation. // rdar://11309706 llvm-svn: 157074
* Move all work list processing to copyCoalesceWorkList().Jakob Stoklund Olesen2012-05-181-39/+42
| | | | | | This will make it possible to filter out erased instructions later. llvm-svn: 157073
* allow LazyValueInfo::getEdgeValue() to reason about multiple edges from the ↵Nuno Lopes2012-05-182-11/+34
| | | | | | same switch instruction by doing union of ranges (which may still be conservative, but it's more aggressive than before) llvm-svn: 157071
* Optimizations to the Python ObjC formatters - Benchmarking infrastructureEnrico Granata2012-05-182-3/+27
| | | | llvm-svn: 157066
* Lexer::ReadToEndOfLine: Only build the string if it's actually used and do ↵Benjamin Kramer2012-05-183-14/+13
| | | | | | so in a less malloc-intensive way. llvm-svn: 157064
* Refactor data-in-code annotations.Jim Grosbach2012-05-1828-215/+411
| | | | | | | | | | | | | | | | | | | | | | Use a dedicated MachO load command to annotate data-in-code regions. This is the same format the linker produces for final executable images, allowing consistency of representation and use of introspection tools for both object and executable files. Data-in-code regions are annotated via ".data_region"/".end_data_region" directive pairs, with an optional region type. data_region_directive := ".data_region" { region_type } region_type := "jt8" | "jt16" | "jt32" | "jta32" end_data_region_directive := ".end_data_region" The previous handling of ARM-style "$d.*" labels was broken and has been removed. Specifically, it didn't handle ARM vs. Thumb mode when marking the end of the section. rdar://11459456 llvm-svn: 157062
* fix warnings when compiling with -WshadowNick Kledzik2012-05-183-5/+5
| | | | llvm-svn: 157061
* Remove duplicate code that we could just fallthrough to.Eric Christopher2012-05-181-1/+0
| | | | llvm-svn: 157060
* Simplify RegisterCoalescer::copyCoalesceInMBB().Jakob Stoklund Olesen2012-05-181-48/+15
| | | | | | | | | It is no longer necessary to separate VirtCopies, PhysCopies, and ImpDefCopies. Implicitly defined copies are extremely rare after we added the ProcessImplicitDefs pass, and physical register copies are not joined any longer. llvm-svn: 157059
* add test case for bugfix in r157032Nuno Lopes2012-05-181-0/+29
| | | | llvm-svn: 157058
* Add support for the mips 'x' inline asm modifier.Eric Christopher2012-05-182-0/+11
| | | | | | Patch by Jack Carter. llvm-svn: 157057
* Remove support for PhysReg joining.Jakob Stoklund Olesen2012-05-181-136/+14
| | | | | | | | | | | | | | | | | | | | | | | | This has been disabled for a while, and it is not a feature we want to support. Copies between physical and virtual registers are eliminated by good hinting support in the register allocator. Joining virtual and physical registers is really a form of register allocation, and the coalescer is not properly equipped to do that. In particular, it cannot backtrack coalescing decisions, and sometimes that would cause it to create programs that were impossible to register allocate, by exhausting a small register class. It was also very difficult to keep track of the live ranges of aliasing registers when extending the live range of a physreg. By disabling physreg joining, we can let fixed physreg live ranges remain constant throughout the register allocator super-pass. One type of physreg joining remains: A virtual register that has a single value which is a copy of a reserved register can be merged into the reserved physreg. This always lowers register pressure, and since we don't compute live ranges for reserved registers, there are no problems with aliases. llvm-svn: 157055
* Typo.Chad Rosier2012-05-181-1/+1
| | | | llvm-svn: 157054
* FileCheck-ify, apropos of nothingJoel Jones2012-05-181-4/+4
| | | | llvm-svn: 157051
* Fixed the test for the new process launch abbreviation.Filipe Cabecinhas2012-05-181-4/+4
| | | | llvm-svn: 157050
* Protect __shared_weak_count::__get_deleter declaration with _LIBCPP_NO_RTTI. ↵Howard Hinnant2012-05-181-0/+2
| | | | | | Fixes http://llvm.org/bugs/show_bug.cgi?id=12867 llvm-svn: 157049
* tsan: check for overflow in malloc()Dmitry Vyukov2012-05-181-0/+2
| | | | llvm-svn: 157048
* tsan: fix potential NULL derefDmitry Vyukov2012-05-181-1/+1
| | | | llvm-svn: 157047
OpenPOWER on IntegriCloud