- Aug 17, 2012
-
-
Rafael Espindola authored
multiple edges between two blocks is linear. If the caller is iterating all edges leaving a BB that would be a square time algorithm. It is more efficient to have the callers handle that case. Currently the only callers are: * GVN: already avoids the multiple edge case. * Verifier: could only hit this assert when looking at an invalid invoke. Since it already rejects the invoke, just avoid computing the dominance for it. llvm-svn: 162113
-
Jakob Stoklund Olesen authored
llvm-svn: 162107
-
Benjamin Kramer authored
TargetLowering: Use the large shift amount during legalize types. The legalizer may call us with an overly large type. llvm-svn: 162101
-
Jakob Stoklund Olesen authored
Increment the MBB iterator at the top of the loop to properly handle the current (and previous) instructions getting erased. This fixes PR13625. llvm-svn: 162099
-
Benjamin Kramer authored
Guard MemoryBuiltins against self-looping GEPs, which can occur in unreachable code due to constant propagation. Fixes PR13621. llvm-svn: 162098
-
Benjamin Kramer authored
I really need to find a way to automate this, but I can't come up with a regex that has no false positives while handling tricky cases like custom check prefixes. llvm-svn: 162097
-
Tim Northover authored
llvm-svn: 162094
-
Jin-Gu Kang authored
Insertion of NoFolder functions to avoid ambiguous overload warnings or errors about whether to convert Idx to ArrayRef<Constant *> or ArrayRef<Value *> like ConstantFolder and TargetFolder. llvm-svn: 162090
-
Craig Topper authored
llvm-svn: 162089
-
Craig Topper authored
Make ReplaceATOMIC_BINARY_64 a static function. Use a nested switch to reduce to only a single call to it thus allowing it to be inlined by the compiler. llvm-svn: 162088
-
Pranav Bhandarkar authored
include/llvm/IntrinsicsHexagon.td: Hexagon_Intrinsic is the base class for all Hexagon intrinsics and not altivec intrinsics. llvm-svn: 162087
-
Craig Topper authored
llvm-svn: 162086
-
Craig Topper authored
llvm-svn: 162085
-
Craig Topper authored
llvm-svn: 162082
-
NAKAMURA Takumi authored
lit: Show actually created count of threads. The incorrect threads count is printed if the number of tests are less than the number of default threads. Thanks to Vinson Lee, reported in PR13620. llvm-svn: 162078
-
Chandler Carruth authored
templated union at the request of Richard Smith. This makes it substantially easier to type. =] llvm-svn: 162072
-
Jakob Stoklund Olesen authored
It is not my plan to duplicate the entire ARM instruction set with predicated versions. We need a way of representing predicated instructions in SSA form without requiring a separate opcode. Then the pseudo-instructions can go away. llvm-svn: 162061
-
Jakob Stoklund Olesen authored
Use the target independent select analysis hooks. llvm-svn: 162060
-
Jakob Stoklund Olesen authored
Select instructions pick one of two virtual registers based on a condition, like x86 cmov. On targets like ARM that support predication, selects can sometimes be eliminated by predicating the instruction defining one of the operands. Teach PeepholeOptimizer to recognize select instructions, and ask the target to optimize them. llvm-svn: 162059
-
- Aug 16, 2012
-
-
Roman Divacky authored
llvm-svn: 162039
-
Roman Divacky authored
llvm-svn: 162037
-
Roman Divacky authored
llvm-svn: 162035
-
Roman Divacky authored
llvm-svn: 162034
-
Roman Divacky authored
llvm-svn: 162032
-
Rafael Espindola authored
where some fact lake a=b dominates a use in a phi, but doesn't dominate the basic block itself. This feature could also be implemented by splitting critical edges, but at least with the current algorithm reasoning about the dominance directly is faster. The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower and on gcc as a single file it is 1.0007 times faster. llvm-svn: 162023
-
Nadav Rotem authored
llvm-svn: 162014
-
Jush Lu authored
Without fastcc support, the caller just falls through to CallingConv::C for fastcc, but callee still uses fastcc, this inconsistency of calling convention is a problem, and fastcc support can fix it. llvm-svn: 162013
-
Anitha Boyapati authored
llvm-svn: 162012
-
Anitha Boyapati authored
llvm-svn: 162010
-
Akira Hatanaka authored
llvm-svn: 162009
-
Akira Hatanaka authored
floats. llvm-svn: 162008
-
Victor Oliveira authored
llvm-svn: 161995
-
Jakob Stoklund Olesen authored
The ARM select instructions are just predicated moves. If the select is the only use of an operand, the instruction defining the operand can be predicated instead, saving one instruction and decreasing register pressure. This implementation can turn AND/ORR/EOR instructions into their corresponding ANDCC/ORRCC/EORCC variants. Ideally, we should be able to predicate any instruction, but we don't yet support predicated instructions in SSA form. llvm-svn: 161994
-
- Aug 15, 2012
-
-
Bill Wendling authored
llvm-svn: 161990
-
Bill Wendling authored
llvm-svn: 161989
-
Bill Wendling authored
around. That's not how we do things. Besides, the commit message tells us that it is covered by the GCC test suite. ------------------------------------------------------------------------ r127497 | zwarich | 2011-03-11 13:51:56 -0800 (Fri, 11 Mar 2011) | 3 lines Fix the GCC test suite issue exposed by r127477, which was caused by stack protector insertion not working correctly with unreachable code. Since that revision was rolled out, this test doesn't actual fail before this fix. ------------------------------------------------------------------------ llvm-svn: 161985
-
Sean Callanan authored
allocations of executable memory would not be padded to account for the size of the allocation header. This resulted in undersized allocations, meaning that when the allocation was written to later the next allocation's header would be corrupted. llvm-svn: 161984
-
Jakob Stoklund Olesen authored
This can be used to tell TableGen to use a specific SubRegIndex instead of synthesizing one when discovering all sub-registers. llvm-svn: 161982
-
Michael J. Spencer authored
llvm-svn: 161979
-
Michael J. Spencer authored
llvm-svn: 161978
-