- Mar 05, 2012
-
-
Jim Grosbach authored
Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
-
Bill Wendling authored
Patch by Sean Silva! llvm-svn: 152042
-
Chad Rosier authored
Specifically, remove the magic number when checking to see if the copy has a glue operand and simplify the checking logic. rdar://10930395 llvm-svn: 152041
-
Jakob Stoklund Olesen authored
This was testing the handling of sub-register coalescing followed by remat. The original problem was caused by the extra <imp-def> operands added by sub-register coalescing. Those <imp-def> operands are not added any longer, and the test case passes even when the original patch is reverted. llvm-svn: 152040
-
Anna Zaks authored
calls with self as a parameter. llvm-svn: 152039
-
Johnny Chen authored
llvm-svn: 152038
-
Anna Zaks authored
calling an ObjC method ending with 'NoCopy'. llvm-svn: 152037
-
Sebastian Pop authored
In this update: - I assumed neon2 does not imply vfpv4, but neon and vfpv4 imply neon2. - I kept setting .fpu=neon-vfpv4 code attribute because that is what the assembler understands. Patch by Ana Pazos <apazos@codeaurora.org> llvm-svn: 152036
-
Sebastian Pop authored
llvm-svn: 152035
-
Sebastian Pop authored
llvm-svn: 152034
-
Benjamin Kramer authored
llvm-svn: 152033
-
Peter Collingbourne authored
ASTContext::getUnaryTransformType. This can happen if, for example, an enumeration's underlying type is a typedef. llvm-svn: 152031
-
Nico Weber authored
Patch from Sean Silva <silvas@purdue.edu>! llvm-svn: 152030
-
Benjamin Kramer authored
llvm-svn: 152029
-
Nadav Rotem authored
llvm-svn: 152028
-
Duncan Sands authored
llvm-svn: 152027
-
Chandler Carruth authored
llvm-svn: 152026
-
Chandler Carruth authored
This implicitly fixes a nasty bug in the GVN hashing (that thankfully could only manifest as a performance bug): actually include the opcode in the hash. The old code started the hash off with the opcode, but then overwrote it with the type pointer. Since this is likely to be pretty hot (GVN being already pretty expensive) I've included a micro-optimization to just not bother with the varargs hashing if they aren't present. I can't measure any change in GVN performance due to this, even with a big test case like Duncan's sqlite one. Everything I see is in the noise floor. That said, this closes a loop hole for a potential scaling problem due to collisions if the opcode were the differentiating aspect of the expression. llvm-svn: 152025
-
Rafael Espindola authored
In the included testcase, soma thinks that we already have a definition after we see the out of line decl. Codegen puts it in a deferred list, to be output if a use is seen. This would break when we saw an explicit template instantiation definition, since codegen would not be notified. This patch adds a method to the consumer interface so that soma can notify codegen that this decl is now required. llvm-svn: 152024
-
Chandler Carruth authored
hashing infrastructure. I wonder why we don't just use StringMap here, and I may revisit the issue if I have time, but for now I'm just trying to consolidate. llvm-svn: 152023
-
James Molloy authored
Fix a bug in the mangler where in 'namespace std { extern "C" {X;} }', X would not be seen to be in ::std::. Migrate two other places where the same logic is used to use the helper function that already exists. llvm-svn: 152022
-
Chandler Carruth authored
complains about the truncation of a 64-bit constant to a 32-bit value when size_t is 32-bits wide, but *only with static_cast*!!! The exact signal that should *silence* such a warning, and in fact does silence it with both GCC and Clang. Anyways, this was causing grief for all the MSVC builds, so pointless change made. Thanks to Nikola on IRC for confirming that this works. llvm-svn: 152021
-
Argyrios Kyrtzidis authored
-Make sure we don't change to '__weak' a __block variable used as output. -Make sure we don't apply __weak twice. Fixes rdar://10520757&10521362 llvm-svn: 152020
-
Craig Topper authored
llvm-svn: 152019
-
Argyrios Kyrtzidis authored
Introduce PreprocessingRecord::rangeIntersectsConditionalDirective() which returns true if a given range intersects with a conditional directive block. llvm-svn: 152018
-
Argyrios Kyrtzidis authored
-Add location parameter for the directives callbacks -Skip callbacks if the directive is inside a skipped range. -Make sure the directive callbacks are invoked in source order. llvm-svn: 152017
-
Craig Topper authored
llvm-svn: 152016
-
Jim Ingham authored
have a process, then fetch the right runtime resolver when the process is made. llvm-svn: 152015
-
Eli Friedman authored
llvm-svn: 152014
-
Richard Smith authored
llvm-svn: 152013
-
Richard Smith authored
kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches. llvm-svn: 152012
-
Gregory Szorc authored
llvm-svn: 152011
-
- Mar 04, 2012
-
-
Jakob Stoklund Olesen authored
The first def of a virtual register cannot also read the register. Assert on such bad machine code instead of trying to fix it. TwoAddressInstructionPass should never create code like that. llvm-svn: 152010
-
Jakob Stoklund Olesen authored
We are already setting <undef> flags, and that is good enough. The <imp-def> operands don't mean anything any more. llvm-svn: 152009
-
Jakob Stoklund Olesen authored
MachineOperands that define part of a virtual register must have an <undef> flag if they are not intended as read-modify-write operands. The old trick of adding an <imp-def> operand doesn't work any longer. Fixes PR12177. llvm-svn: 152008
-
Erik Verbruggen authored
Remove a recursive visitation in ExprEngine that is no longer needed because the CFG is fully linearized. llvm-svn: 152007
-
Duncan Sands authored
equalities into phi node operands for which the equality is known to hold in the incoming basic block. That's because replaceAllDominatedUsesWith wasn't handling phi nodes correctly in general (that this didn't give wrong results was just luck: the specific way GVN uses replaceAllDominatedUsesWith precluded wrong changes to phi nodes). llvm-svn: 152006
-
Chandler Carruth authored
llvm-svn: 152005
-
Chandler Carruth authored
new hash_value infrastructure, and replace their implementations using hash_combine. This removes a complete copy of Jenkin's lookup3 hash function (which is both significantly slower and lower quality than the one implemented in hash_combine) along with a somewhat scary xor-only hash function. Now that APInt and APFloat can be passed directly to hash_combine, simplify the rest of the LLVMContextImpl hashing to use the new infrastructure. llvm-svn: 152004
-
Chandler Carruth authored
llvm-svn: 152003
-