- May 18, 2011
-
-
Nadav Rotem authored
code in one place. llvm-svn: 131534
-
Duncan Sands authored
than either the primitive size or the element primitive size (in the case of vectors), simplify the vector logic. No functionality change. There is some distracting churn in the patch because I lined up comments better while there - sorry about that. llvm-svn: 131533
-
Duncan Sands authored
happily accept things like "sext <2 x i32> to <999 x i64>". It would also accept "sext <2 x i32> to i64", though the verifier would catch that later. Fixed by having castIsValid check that vector lengths match except when doing a bitcast. (2) When creating a cast instruction, check that the cast is valid (this was already done when creating constexpr casts). While there, replace getScalarSizeInBits (used to allow more vector casts) with getPrimitiveSizeInBits in getCastOpcode and isCastable since vector to vector casts are now handled explicitly by passing to the element types; i.e. this bit should result in no functional change. llvm-svn: 131532
-
Duncan Sands authored
can be used to turn a <4 x i64> into a <4 x i32> but getCastOpcode would assert if you passed these types to it. Note that this strictly extends the previous functionality: if getCastOpcode previously accepted two vector types (i.e. didn't assert) then it still will and returns the same opcode (BitCast). That's because before it would only accept vectors with the same bitwidth, and the new code only touches vectors with the same length. However if two vectors have both the same bitwidth and the same length then their element types have the same bitwidth, so the new logic will return BitCast as before. llvm-svn: 131530
-
Tanya Lattner authored
In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. Updated test case and reverted change to the PerfectShuffle Table. llvm-svn: 131529
-
Sebastian Redl authored
llvm-svn: 131528
-
Jim Ingham authored
llvm-svn: 131527
-
Jim Ingham authored
llvm-svn: 131526
-
Charles Davis authored
GAS has no such directives (not even mingw-w64 GAS has them), so I took creative license with their names in assembly. I prefixed them all with "w64_" to avoid namespace collisions, for example. If I discover that GAS has taken a different approach, I'll change ours to match. llvm-svn: 131525
-
Jakob Stoklund Olesen authored
llvm-svn: 131524
-
Jakob Stoklund Olesen authored
The 'last use' may not be in the same basic block, and we still want a correct live range. llvm-svn: 131523
-
Charles Davis authored
the purposes of the Win64 EH tables, I realized we had no way to tell where the function ends. (MASM bounds functions with PROC and ENDP keywords.) Add a directive to delimit the end of the function, and rename the 'frame' directive to more accurately reflect its duality with the new directive. llvm-svn: 131522
-
Jakob Stoklund Olesen authored
LiveInterval::shrinkToUses recomputes the live range from scratch instead of removing snippets. This should avoid the problem with dangling live ranges. Leave physreg identity copies alone. They can be created when joining a virtreg with a physreg. They don't affect register allocation, and they will be removed by the rewriter. llvm-svn: 131521
-
Alexis Hunt authored
member functions by making sure that they're on the record before checking for deletion. Also make sure source locations are valid to avoid crashes. Unfortunately, the declare-all-implicit-members approach is still required in order to ensure that dependency loops do not result in incorrectly deleting functions (since they are to be deleted at the declaration point per the standard). Fixes PR9917 llvm-svn: 131520
-
Cameron Zwarich authored
llvm-svn: 131519
-
Cameron Zwarich authored
compare-and-swap intrinsics. llvm-svn: 131518
-
Greg Clayton authored
bool Address::SetLoadAddress (lldb::addr_t load_addr, Target *target); Added an == and != operator to RegisterValue. Modified the ThreadPlanTracer to use RegisterValue objects to store the register values when single stepping. Also modified the output to be a bit less wide. Fixed the ABIMacOSX_arm to not overwrite stuff on the stack. Also made the trivial function call be able to set the ARM/Thumbness of the target correctly, and also sets the return value ARM/Thumbness. Fixed the encoding on the arm s0-s31 and d16 - d31 registers when the default register set from a standard GDB server register sets. llvm-svn: 131517
-
Eli Friedman authored
Start trying to make InstCombine preserve more debug info. The idea here is to set the debug location on the IRBuilder, which will be then right location in most cases. This should magically give many transformations debug locations, and fixing places which are missing a debug location will usually just means changing the code creating it to use the IRBuilder. As an example, the change to InstCombineCalls catches a common case where a call to a bitcast of a function is rewritten. Chris, does this approach look reasonable? llvm-svn: 131516
-
Alexis Hunt authored
I hear at least one person crying out in anguish, but it's unfortunately necessary to avoid infinite loops with mutually dependent constructors trying to call each other and determine if they are deleted. It might be possible to go back to the old behavior if we can implement part-of-file lookups efficiently, or if a solution is discovered by which we can safely detect and avoid infinite recusion. llvm-svn: 131515
-
Howard Hinnant authored
llvm-svn: 131514
-
Eli Friedman authored
llvm-svn: 131512
-
Eli Friedman authored
llvm-svn: 131510
-
Howard Hinnant authored
llvm-svn: 131509
-
Devang Patel authored
llvm-svn: 131508
-
Cameron Zwarich authored
take r13, so we can just make it a GPR. This fixes PR8825. llvm-svn: 131507
-
Cameron Zwarich authored
were marked as taking a tGPR when in reality they take an rGPR. llvm-svn: 131506
-
Eric Christopher authored
llvm-svn: 131505
-
Bill Wendling authored
<rdar://problem/8107317> llvm-svn: 131504
-
Bill Wendling authored
format. llvm-svn: 131503
-
Eli Friedman authored
Make fast-isel miss counting in -stats and -fast-isel-verbose take terminators into account; since there are many fewer isel misses with recent changes, misses caused by terminators are more significant. llvm-svn: 131502
-
Johnny Chen authored
the session directory, which also includes the command line used to invoke the test suite. llvm-svn: 131501
-
Fariborz Jahanian authored
llvm-svn: 131499
-
Jim Ingham authored
and then reset it to the original value when done. llvm-svn: 131498
-
Dan Gohman authored
llvm-svn: 131497
-
Fariborz Jahanian authored
user specified string class via -fconstant-string-class option. pr9914. llvm-svn: 131496
-
Dan Gohman authored
llvm-svn: 131495
-
Johnny Chen authored
object.__nonzero__(self) is called to implement truth value testing and the built-in operation bool(), via a simple delegation to self.IsValid(). Change tests under python_api/lldbutil to utilize this mechanism. llvm-svn: 131494
-
Stuart Hastings authored
rdar://problem/6945110 llvm-svn: 131493
-
Argyrios Kyrtzidis authored
1. We would assume that the length of the string literal token was at least 2 2. We would allocate a buffer with size length-2 And when the stars aligned (one of which would be an invalid source location due to stale PCH) The length would be 0 and we would try to allocate a 4GB buffer. Add checks for this corner case and a bunch of asserts. (We really really should have had an assert for 1.). Note that there's no test case since I couldn't get one (it was major PITA to reproduce), maybe later. llvm-svn: 131492
-
Argyrios Kyrtzidis authored
llvm-svn: 131491
-