- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
Jakob Stoklund Olesen authored
Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of INSERT_SUBREG. llvm-svn: 107878
-
Douglas Gregor authored
ExtWarn to an Extension. Let the broken code propagate! llvm-svn: 107875
-
John McCall authored
surprised. llvm-svn: 107874
-
Argyrios Kyrtzidis authored
For TagType and TemplateSpecializationType, isDependent calculation may be invalid because some decls that the calculation is using may still be initializing. Thus, store the isDependent flag to PCH and restore directly to Type. llvm-svn: 107873
-
Argyrios Kyrtzidis authored
llvm-svn: 107872
-
Argyrios Kyrtzidis authored
llvm-svn: 107871
-
Argyrios Kyrtzidis authored
llvm-svn: 107870
-
Duncan Sands authored
causes some versions of gcc to crash when building LLVM. llvm-svn: 107869
-
Benjamin Kramer authored
llvm-svn: 107868
-
Duncan Sands authored
compiled with MSVC 2010 (PR7367). Instead use a SmallVector. llvm-svn: 107867
-
Benjamin Kramer authored
(X >s -1) ? C1 : C2 and (X <s 0) ? C2 : C1 into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional. This optimization could be extended to take non-const C1 and C2 but we better stay conservative to avoid code size bloat for now. for int sel(int n) { return n >= 0 ? 60 : 100; } we now generate sarl $31, %edi andl $40, %edi leal 60(%rdi), %eax instead of testl %edi, %edi movl $60, %ecx movl $100, %eax cmovnsl %ecx, %eax llvm-svn: 107866
-
Chandler Carruth authored
list in a diagnostic group so it can be turned on and off. A terrifying amount of code, including large chunks of open source code, still do this so it's important to be able to suppress it when necessary. Doug, is this a reasonable compromise? I'd lean toward making it a normal extension, but I don't feel strongly as long as we can turn the warnings off. llvm-svn: 107865
-
Chandler Carruth authored
unknown attributes that we discard. Add a diagnostic group for unknown attribute warnings to allow turning these off when we don't care. Also consolidates the tests for this case. llvm-svn: 107864
-
Duncan Sands authored
llvm-svn: 107863
-
Duncan Sands authored
llvm-svn: 107862
-
Eric Christopher authored
correct the testcase for valid assembly. Needs more tests. llvm-svn: 107860
-
John McCall authored
as well. llvm-svn: 107858
-
Douglas Gregor authored
suppressing copies of objects with trivial copy constructors. llvm-svn: 107857
-
Evan Cheng authored
llvm-svn: 107856
-
Jakob Stoklund Olesen authored
This target hook is intended to replace copyRegToReg entirely, but for now it calls copyRegToReg. Any remaining calls to copyRegToReg wil be replaced by COPY instructions. llvm-svn: 107854
-
Sean Callanan authored
Also fixed our build to define NDEBUG; code that uses LLVM headers without NDEBUG is binary-incompatible with libraries built with NDEBUG. llvm-svn: 107853
-
Evan Cheng authored
Optimize some vfp comparisons to integer ones. This patch implements the simplest case when the following conditions are met: 1. The arguments are f32. 2. The arguments are loads and they have no uses other than the comparison. 3. The comparison code is EQ or NE. e.g. vldr.32 s0, [r1] vldr.32 s1, [r0] vcmpe.f32 s1, s0 vmrs apsr_nzcv, fpscr beq LBB0_2 => ldr r1, [r1] ldr r0, [r0] cmp r0, r1 beq LBB0_2 More complicated cases will be implemented in subsequent patches. llvm-svn: 107852
-
Dale Johannesen authored
Add explicit testcases for tail calls within the same module. Duplicate some code to humor those who think .w doesn't apply on ARM. Leave this disabled on Thumb1, and add some comments explaining why it's hard and won't gain much. llvm-svn: 107851
-
Dan Gohman authored
Debug info intrinsics win for now. llvm-svn: 107850
-
Jim Grosbach authored
(if there are any) and use the one which remains available for the longest rather than just using the first one. This should help enable better re-use of the loaded frame index values. rdar://7318760 llvm-svn: 107847
-
Chris Lattner authored
address spaces when SRoA'ing memcpy's. llvm-svn: 107846
-
Chris Lattner authored
llvm-svn: 107845
-
Johnny Chen authored
llvm-svn: 107844
-
Chris Lattner authored
was not producing a memcpy with the right address spaces because of two places in it doing casts of the arguments to i8, one of which that didn't preserve the address space. There is also an optimizer bug here. llvm-svn: 107842
-
Chris Lattner authored
llvm-svn: 107841
-
Dan Gohman authored
prefer to materialize as local constants. This fixes the clang bootstrap abort. llvm-svn: 107840
-
Dan Gohman authored
llvm-svn: 107839
-
Sebastian Redl authored
llvm-svn: 107838
-
Douglas Gregor authored
breaking bootstrap on Linux. llvm-svn: 107837
-
Chris Lattner authored
llvm-svn: 107836
-
Sebastian Redl authored
Rip out the C++0x-specific handling of destructor names. The specification is still in flux and unclear, and our interim workaround was broken. Fixes PR7467. llvm-svn: 107835
-
Chris Lattner authored
PR7399. The asm parser already handles this. This is of dubious utility (see the PR) but the asmprinter was clearly broken here. llvm-svn: 107834
-
Douglas Gregor authored
typedefs won't have the same canonical declaration (since they are distinct), so we need to check for this case specifically. Fixes <rdar://problem/8018262>. llvm-svn: 107833
-
Jakob Stoklund Olesen authored
llvm-svn: 107832
-