- Jan 09, 2012
-
-
Craig Topper authored
llvm-svn: 147758
-
- Jan 08, 2012
-
-
Peter Collingbourne authored
llvm-svn: 147757
-
Peter Collingbourne authored
llvm-svn: 147756
-
Peter Collingbourne authored
llvm-svn: 147755
-
Benjamin Kramer authored
We still save an instruction when just the "and" part is replaced. Also change the code to match comments more closely. llvm-svn: 147753
-
Evan Cheng authored
llvm-svn: 147752
-
Evan Cheng authored
safely proven not to have been clobbered. No small test case possible. llvm-svn: 147751
-
Fariborz Jahanian authored
c++ object properties. wip. llvm-svn: 147750
-
Benjamin Kramer authored
InstCombine: If we have a bit test and a sign test anded/ored together, merge the sign bit into the bit test. This is common in bit field code, e.g. checking if the first or the last bit of a bit field is set. llvm-svn: 147749
-
Victor Umansky authored
llvm-svn: 147748
-
rdar://problem/10645694Greg Clayton authored
Fixed an ARM backtracing issue where if the previous frame was a thumb function and it was a tail call so that the current frame returned to an address that would fall into the next function, we would use the next function as the basis for how we unwound the previous frame's registers and of course get things wrong. We now fix the PC code address using the current ABI plug-in, and the ARM ABI plug-in has been modified to correctly fix the code address. So when we do the symbol context lookup, instead of taking an address like 0x1001 and decrementing 1, and looking up the symbol context for a frame, we now correctly fix 0x1001 to 0x1000, then decrement that by 1 to get the correct symbol context. I added a bunch more logging to "log enable lldb uwnind" to help us in the future. We now log the PC, FP and SP (if they are available), and we also dump the "active_row" that we find for unwinding a frame. llvm-svn: 147747
-
rdar://problem/10660369Greg Clayton authored
Fixed the default ARM regiter set to be able to refer to "r7" as "fp" for the apple debugserver. llvm-svn: 147746
-
Rafael Espindola authored
llvm-svn: 147745
-
- Jan 07, 2012
-
-
Rafael Espindola authored
llvm-svn: 147744
-
Rafael Espindola authored
the produce assembly when using CFI just a bit more readable. llvm-svn: 147743
-
Benjamin Kramer authored
-8 bytes on x86_64, no change on x86. llvm-svn: 147742
-
Greg Clayton authored
The previous approach to controlling the recursion was doing it from outside the function which is not reliable. Now it is being done inside the function. This might not solve all of the crashes that we were seeing since there are other functions that clear the bit that indicates that the summary is in the process of being generated, but it might solve some. llvm-svn: 147741
-
Jakob Stoklund Olesen authored
Darwin doesn't do static, and ELF targets only support static. llvm-svn: 147740
-
Craig Topper authored
llvm-svn: 147739
-
Benjamin Kramer authored
llvm-svn: 147738
-
Benjamin Kramer authored
llvm-svn: 147737
-
Benjamin Kramer authored
88 -> 80 bytes on x86_64. llvm-svn: 147736
-
Fariborz Jahanian authored
with non-trivial copies. // rdar://6137845 llvm-svn: 147735
-
Craig Topper authored
llvm-svn: 147734
-
Craig Topper authored
llvm-svn: 147733
-
Anna Zaks authored
A patch by Dmitri Gribenko! The attached patch fixes a use-after-free in AnalysisConsumer::HandleTranslationUnit. The problem is that BugReporter's destructor runs after AnalysisManager has been already deleted. The fix introduces a scope to force correct destruction order. A crash happens only when reports have been added in AnalysisConsumer::HandleTranslationUnit's BugReporter. We don't have such checkers in clang so no test. llvm-svn: 147732
-
Benjamin Kramer authored
This should fix the odd behavior that find() is slower than lookup(). llvm-svn: 147731
-
Abramo Bagnara authored
llvm-svn: 147730
-
Douglas Gregor authored
to Redeclarable<NamespaceDecl>, so that we benefit from the improveed redeclaration deserialization and merging logic provided by Redeclarable<T>. Otherwise, no functionality change. As a drive-by fix, collapse the "inline" bit into the low bit of the original namespace/anonymous namespace, saving 8 bytes per NamespaceDecl on x86_64. llvm-svn: 147729
-
Craig Topper authored
Add some DAG combines for SUBC/SUBE. If nothing uses the carry/borrow out of subc, turn it into a sub. Turn (subc x, x) into 0 with no borrow. Turn (subc x, 0) into x with no borrow. Turn (subc -1, x) into (xor x, -1) with no borrow. Turn sube with no borrow in into subc. llvm-svn: 147728
-
Cameron Zwarich authored
/// FastEmit_f - This method is called by target-independent code /// to request that an instruction with the given type, opcode, and /// floating-point immediate operand be emitted. virtual unsigned FastEmit_f(MVT VT, MVT RetVT, unsigned Opcode, const ConstantFP *FPImm); Currently, it emits an accidentally overloaded version without the const on the ConstantFP*. This doesn't affect anything in the tree, since nothing causes that method to be autogenerated, but I have been playing with some ARM TableGen refactorings that hit this problem. llvm-svn: 147727
-
Jakob Stoklund Olesen authored
Reserved registers don't have proper live ranges, their LiveInterval simply has a snippet of liveness for each def. Virtual registers with a single value that is a copy of a reserved register (typically %esp) can be coalesced with the reserved register if the live range doesn't overlap any reserved register defs. When coalescing with a reserved register, don't modify the reserved register live range. Just leave it as a bunch of dead defs. This eliminates quadratic coalescer behavior in i386 functions with many function calls. PR11699 llvm-svn: 147726
-
Jakob Stoklund Olesen authored
llvm-svn: 147725
-
Andrew Trick authored
This will be more important as we extend the LSR pass in ways that don't rely on the formula solver. In particular, we need it for constructing IV chains. llvm-svn: 147724
-
Eli Friedman authored
More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.) llvm-svn: 147723
-
rdar://problem/10658091Greg Clayton authored
Fixed dynamic types for objective C to not try and make everything dynamic including base classes. llvm-svn: 147722
-
Eli Bendersky authored
llvm-svn: 147721
-
Jakob Stoklund Olesen authored
This enables basic local CSE, giving us 20% smaller code for consumer-typeset in -O0 builds. <rdar://problem/10658692> llvm-svn: 147720
-
Evan Cheng authored
up so branch folding pass can't use the scavenger. :-( This doesn't breaks anything currently. It just means targets which do not carefully update kill markers cannot run post-ra scheduler (not new, it has always been the case). We should fix this at some point since it's really hacky. llvm-svn: 147719
-
Andrew Trick authored
LoopSimplify may not run on some outer loops, e.g. because of indirect branches. SCEVExpander simply cannot handle outer loops with no preheaders. Fixes rdar://10655343 SCEVExpander segfault. llvm-svn: 147718
-