- Jul 30, 2010
-
-
Bob Wilson authored
llvm-svn: 109876
-
Daniel Dunbar authored
llvm-svn: 109875
-
Daniel Dunbar authored
llvm-svn: 109872
-
John Criswell authored
the llvm.memset() intrinsic family. No content changes. llvm-svn: 109863
-
Rafael Espindola authored
llvm-svn: 109859
-
Benjamin Kramer authored
llvm-svn: 109858
-
Eli Friedman authored
check the range of the constant when optimizing a comparison between a constant and a sign_extend_inreg node. llvm-svn: 109854
-
Duncan Sands authored
llvm-svn: 109852
-
Duncan Sands authored
handles with a pointer to the containing map. When a map is copied, these pointers need to be corrected to point to the new map. If not, then consider the case of a map M1 which maps a value V to something. Create a copy M2 of M1. At this point there are two value handles on V, one representing V as a key in M1, the other representing V as a key in M2. But both value handles point to M1 as the containing map. Now delete V. The value handles remove themselves from their containing map (which destroys them), but only the first value handle is successful: the second one cannot remove itself from M1 as (once the first one has removed itself) there is nothing there to remove; it is therefore not destroyed. This causes an assertion failure "All references to V were not removed?". llvm-svn: 109851
-
Jim Grosbach authored
have 4 bits per register in the operand encoding), but have undefined behavior when the operand value is 13 or 15 (SP and PC, respectively). The trivial coalescer in linear scan sometimes will merge a copy from SP into a subsequent instruction which uses the copy, and if that instruction cannot legally reference SP, we get bad code such as: mls r0,r9,r0,sp instead of: mov r2, sp mls r0, r9, r0, r2 This patch adds a new register class for use by Thumb2 that excludes the problematic registers (SP and PC) and is used instead of GPR for those operands which cannot legally reference PC or SP. The trivial coalescer explicitly requires that the register class of the destination for the COPY instruction contain the source register for the COPY to be considered for coalescing. This prevents errant instructions like that above. PR7499 llvm-svn: 109842
-
Gabor Greif authored
llvm-svn: 109821
-
Eric Christopher authored
llvm-svn: 109820
-
Benjamin Kramer authored
llvm-svn: 109818
-
Bob Wilson authored
completed a successful build. llvm-svn: 109815
-
Nate Begeman authored
llvm-svn: 109813
-
Bob Wilson authored
llvm-svn: 109810
-
Daniel Dunbar authored
llvm-svn: 109809
-
- Jul 29, 2010
-
-
Benjamin Kramer authored
llvm-svn: 109801
-
Bob Wilson authored
transformations. llvm-svn: 109800
-
Dale Johannesen authored
integers with mov + vdup. 8003375. This is currently disabled by default because LICM will not hoist a VDUP, so it pessimizes the code if the construct occurs inside a loop (8248029). llvm-svn: 109799
-
Bob Wilson authored
PR7745. llvm-svn: 109788
-
John McCall authored
llvm-svn: 109787
-
Eric Christopher authored
llvm-svn: 109775
-
John McCall authored
llvm-svn: 109774
-
Eli Friedman authored
if CExpr is a ConstantInt. llvm-svn: 109773
-
Owen Anderson authored
llvm-svn: 109772
-
Nate Begeman authored
Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD & QSUB instructions. Behave identically to __qadd & __qsub RealView instruction intrinsics. llvm-svn: 109770
-
John McCall authored
message is properly contaminated with nonsense about timing passes that doesn't apply at all to this utility. :) llvm-svn: 109769
-
Benjamin Kramer authored
Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter. llvm-svn: 109767
-
Dale Johannesen authored
llvm-svn: 109765
-
Jakob Stoklund Olesen authored
We do sometimes load from a too small stack slot when dealing with x86 arguments (varargs and smaller-than-32-bit args). It looks like we know what we are doing in those cases, so I am going to remove the assert instead of artifically enlarging stack slot sizes. The assert in storeRegToStackSlot stays in. We don't want to write beyond the bounds of a stack slot. llvm-svn: 109764
-
Daniel Dunbar authored
llvm-svn: 109752
-
Rafael Espindola authored
memory when one of the original BB is destroyed. llvm-svn: 109747
-
Benjamin Kramer authored
llvm-svn: 109746
-
Benjamin Kramer authored
llvm-svn: 109745
-
John McCall authored
it establishes a context and does a complaining diff. Also make sure we unify the prelude and postlude of a diff after a block-diff call. llvm-svn: 109744
-
John McCall authored
structurally identical. llvm-svn: 109743
-
John McCall authored
any differences we see. This should only happen if there are "non-structural" differences between the instructions, i.e. differences which wouldn't cause diff to return true. llvm-svn: 109742
-
John McCall authored
in despite not ever incrementing any path costs, so that the only nonzero costs arose from the all-left path in the first column. Anyway. Perform the diff starting from the beginning of the block to avoid capturing (say) loads of allocas. Vastly improves diff results on code that hasn't been mem2reg'ed. llvm-svn: 109741
-
John McCall authored
llvm-svn: 109740
-