Author: djg
Date: Fri Oct 12 09:13:46 2007
New Revision: 42906
URL: http://llvm.org/viewvc/llvm-project?rev=42906view=rev
Log:
Add support to SplitVectorOp for powi, where the second operand
is a scalar integer.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Modified:
Author: djg
Date: Fri Oct 12 09:09:42 2007
New Revision: 42905
URL: http://llvm.org/viewvc/llvm-project?rev=42905view=rev
Log:
Mark vector ctpop, cttz, and ctlz as Expand on x86.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Author: djg
Date: Fri Oct 12 09:08:57 2007
New Revision: 42904
URL: http://llvm.org/viewvc/llvm-project?rev=42904view=rev
Log:
Mark vector pow, ctpop, cttz, and ctlz as Expand on PowerPC.
Modified:
llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
Modified:
Author: djg
Date: Fri Oct 12 15:42:14 2007
New Revision: 42932
URL: http://llvm.org/viewvc/llvm-project?rev=42932view=rev
Log:
Fix this test to not depend on the assembly output containing something
that includes the string st. This probably fixes the regression on
Darwin.
Modified:
supposed to.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
+ // If MemCpyInst length is 1/2/4/8 bytes then replace memcpy with
load/store
Neat!
+ ConstantInt *MemOpLength = dyn_castConstantInt(CI.getOperand(3));
+ if (isaMemCpyInst(MI))
+if (MemOpLength) {
Can you replace these two if statements with
if
On Thu, Oct 11, 2007 at 05:08:55PM -0500, Dan Gohman wrote:
+unsigned Size = MemOpLength-getZExtValue();
+unsigned Align =
castConstantInt(CI.getOperand(4))-getZExtValue();
+const PointerType *PTy =
castPointerType(CI.getOperand(1)-getType());
+const
Author: djg
Date: Thu Oct 11 18:04:36 2007
New Revision: 42878
URL: http://llvm.org/viewvc/llvm-project?rev=42878view=rev
Log:
Add an explicit target triple to make this test behave as expected on
non-Apple hosts. And use the count script instead of wc + grep.
Modified:
Author: djg
Date: Thu Oct 11 18:06:37 2007
New Revision: 42879
URL: http://llvm.org/viewvc/llvm-project?rev=42879view=rev
Log:
Add an ISD::FPOW node type.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Modified:
Author: djg
Date: Thu Oct 11 18:09:10 2007
New Revision: 42880
URL: http://llvm.org/viewvc/llvm-project?rev=42880view=rev
Log:
Add runtime library names for pow.
Modified:
llvm/trunk/include/llvm/CodeGen/RuntimeLibcalls.h
llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Modified:
Author: djg
Date: Thu Oct 11 18:21:31 2007
New Revision: 42881
URL: http://llvm.org/viewvc/llvm-project?rev=42881view=rev
Log:
Set ISD::FPOW to Expand.
Modified:
llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
llvm/trunk/lib/Target/Alpha/AlphaISelLowering.cpp
Author: djg
Date: Thu Oct 11 18:57:53 2007
New Revision: 42884
URL: http://llvm.org/viewvc/llvm-project?rev=42884view=rev
Log:
Codegen support for vector intrinsics.
Factor out the code that expands the nasty scalar code for unrolling
vectors into a separate routine, teach it how to handle mixed
Author: djg
Date: Thu Oct 11 19:01:22 2007
New Revision: 42885
URL: http://llvm.org/viewvc/llvm-project?rev=42885view=rev
Log:
Add intrinsics for sin, cos, and pow. These use llvm_anyfloat_ty, and so
may be overloaded with vector types. And add a testcase for codegen for
these.
Added:
here
dislike it?
Dan
--
Dan Gohman, Cray Inc.
Index: test/CodeGen/X86/2006-10-19-SwitchUnnecessaryBranching.ll
===
--- test/CodeGen/X86/2006-10-19-SwitchUnnecessaryBranching.ll (revision 42821)
+++ test/CodeGen/X86/2006-10-19
that's fine.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Tue Oct 9 10:39:37 2007
New Revision: 42784
URL: http://llvm.org/viewvc/llvm-project?rev=42784view=rev
Log:
These two tests now require only two multiply instructions,
instead of four.
Added:
llvm/trunk/test/CodeGen/X86/extmul128.ll
Author: djg
Date: Tue Oct 9 10:42:21 2007
New Revision: 42785
URL: http://llvm.org/viewvc/llvm-project?rev=42785view=rev
Log:
This is done.
Modified:
llvm/trunk/lib/Target/X86/README.txt
Modified: llvm/trunk/lib/Target/X86/README.txt
URL:
Author: djg
Date: Tue Oct 9 10:44:37 2007
New Revision: 42786
URL: http://llvm.org/viewvc/llvm-project?rev=42786view=rev
Log:
Fix grammar in a comment.
Modified:
llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
URL:
Author: djg
Date: Tue Oct 9 10:45:13 2007
New Revision: 42787
URL: http://llvm.org/viewvc/llvm-project?rev=42787view=rev
Log:
LowerIntegerDivOrRem no longer exists.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.h
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.h
URL:
Author: djg
Date: Tue Oct 9 11:04:57 2007
New Revision: 42788
URL: http://llvm.org/viewvc/llvm-project?rev=42788view=rev
Log:
Pass argc by value, not by reference, since it isn't modified.
Modified:
llvm/trunk/include/llvm/Support/CommandLine.h
llvm/trunk/lib/Support/CommandLine.cpp
Author: djg
Date: Tue Oct 9 13:39:48 2007
New Revision: 42805
URL: http://llvm.org/viewvc/llvm-project?rev=42805view=rev
Log:
Remove an unnecessary friend declaration.
Modified:
llvm/trunk/include/llvm/Support/CommandLine.h
Modified: llvm/trunk/include/llvm/Support/CommandLine.h
URL:
Author: djg
Date: Mon Oct 8 10:08:41 2007
New Revision: 42747
URL: http://llvm.org/viewvc/llvm-project?rev=42747view=rev
Log:
Add explicit keywords.
Modified:
llvm/trunk/include/llvm/Bitcode/Archive.h
llvm/trunk/include/llvm/Bitcode/BitCodes.h
Author: djg
Date: Mon Oct 8 10:10:04 2007
New Revision: 42748
URL: http://llvm.org/viewvc/llvm-project?rev=42748view=rev
Log:
Fix grammar in a comment.
Modified:
llvm/trunk/include/llvm/Support/CommandLine.h
Modified: llvm/trunk/include/llvm/Support/CommandLine.h
URL:
Author: djg
Date: Mon Oct 8 10:12:17 2007
New Revision: 42749
URL: http://llvm.org/viewvc/llvm-project?rev=42749view=rev
Log:
In -debug mode, dump SelectionDAGs both before and after the
optimization passes.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Modified:
Author: djg
Date: Mon Oct 8 10:13:30 2007
New Revision: 42750
URL: http://llvm.org/viewvc/llvm-project?rev=42750view=rev
Log:
Use correct parentheses with the ' ...' idiom in an assert.
Modified:
llvm/trunk/lib/Linker/LinkModules.cpp
Modified: llvm/trunk/lib/Linker/LinkModules.cpp
URL:
Author: djg
Date: Mon Oct 8 10:45:12 2007
New Revision: 42752
URL: http://llvm.org/viewvc/llvm-project?rev=42752view=rev
Log:
Move the space in overview output for commands out of each of the
commands and into the common code.
Modified:
llvm/trunk/lib/Support/CommandLine.cpp
Author: djg
Date: Mon Oct 8 10:49:58 2007
New Revision: 42753
URL: http://llvm.org/viewvc/llvm-project?rev=42753view=rev
Log:
Add convenience overloads of SelectionDAG::getNode that take a SDVTList
and individual SDOperand operands.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAG.h
Author: djg
Date: Mon Oct 8 12:28:24 2007
New Revision: 42755
URL: http://llvm.org/viewvc/llvm-project?rev=42755view=rev
Log:
When we start enabling SMUL_LOHI/UMUL_LOHI or SDIVREM/UDIVREM in
target-indepenent lowering, don't use them on PowerPC.
Modified:
Author: djg
Date: Mon Oct 8 12:57:15 2007
New Revision: 42759
URL: http://llvm.org/viewvc/llvm-project?rev=42759view=rev
Log:
DAGCombiner support for UDIVREM/SDIVREM and UMUL_LOHI/SMUL_LOHI.
Check if one of the two results unneeded so see if a simpler operator
could bs used. Also check to see
Author: djg
Date: Mon Oct 8 13:33:35 2007
New Revision: 42762
URL: http://llvm.org/viewvc/llvm-project?rev=42762view=rev
Log:
Migrate X86 and ARM from using X86ISD::{,I}DIV and ARMISD::MULHILO{U,S} to
use ISD::{S,U}DIVREM and ISD::{S,U}MUL_HIO. Move the lowering code
associated with these
Author: djg
Date: Mon Oct 8 15:48:12 2007
New Revision: 42765
URL: http://llvm.org/viewvc/llvm-project?rev=42765view=rev
Log:
These two tests now require only three multiply instructions,
instead of four.
Added:
llvm/trunk/test/CodeGen/X86/mul128.ll
llvm/trunk/test/CodeGen/X86/mul64.ll
Author: djg
Date: Mon Oct 8 16:15:07 2007
New Revision: 42768
URL: http://llvm.org/viewvc/llvm-project?rev=42768view=rev
Log:
Mark the prefetch intrinsic as IntrWriteArgMem, instead of the
default of IntrWriteMem, to at least indicate that it doesn't
capture the argument pointer.
Modified:
Author: djg
Date: Mon Oct 8 16:27:12 2007
New Revision: 42769
URL: http://llvm.org/viewvc/llvm-project?rev=42769view=rev
Log:
Call getFunctionNumber() instead of referencing FunctionNumber directly,
for consistency.
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter.cpp
Modified:
Author: djg
Date: Fri Oct 5 09:07:56 2007
New Revision: 42632
URL: http://llvm.org/viewvc/llvm-project?rev=42632view=rev
Log:
Define target-indepenent SDNode types for multiply and divide that
produce two results.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
Modified:
Author: djg
Date: Fri Oct 5 09:09:33 2007
New Revision: 42633
URL: http://llvm.org/viewvc/llvm-project?rev=42633view=rev
Log:
SMUL_LOHI and UMUL_LOHI are commutative.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAG.h
Modified: llvm/trunk/include/llvm/CodeGen/SelectionDAG.h
URL:
Author: djg
Date: Fri Oct 5 09:11:04 2007
New Revision: 42634
URL: http://llvm.org/viewvc/llvm-project?rev=42634view=rev
Log:
Provide names for MUL_LOHI and DIVREM operators.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Modified:
Author: djg
Date: Fri Oct 5 09:11:58 2007
New Revision: 42635
URL: http://llvm.org/viewvc/llvm-project?rev=42635view=rev
Log:
Fix a typo in a comment.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
Author: djg
Date: Fri Oct 5 09:17:22 2007
New Revision: 42636
URL: http://llvm.org/viewvc/llvm-project?rev=42636view=rev
Log:
Legalize support for MUL_LOHI and DIVREM.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Modified:
Author: djg
Date: Fri Oct 5 10:54:58 2007
New Revision: 42637
URL: http://llvm.org/viewvc/llvm-project?rev=42637view=rev
Log:
Change a space to a tab in the assembly output of a .globl directive
for consistency.
Modified:
llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp
Modified:
Author: djg
Date: Fri Oct 5 10:58:41 2007
New Revision: 42638
URL: http://llvm.org/viewvc/llvm-project?rev=42638view=rev
Log:
Change a few more spaces to tabs in assembly output.
Modified:
llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
Modified: llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
Author: djg
Date: Wed Oct 3 14:04:09 2007
New Revision: 42584
URL: http://llvm.org/viewvc/llvm-project?rev=42584view=rev
Log:
Fix a using namespace llvm; in a header file.
Modified:
llvm/trunk/include/llvm/PassManagers.h
llvm/trunk/lib/VMCore/PassManager.cpp
Modified:
Author: djg
Date: Wed Oct 3 14:26:29 2007
New Revision: 42585
URL: http://llvm.org/viewvc/llvm-project?rev=42585view=rev
Log:
Use empty() member functions when that's what's being tested for instead
of comparing begin() and end().
Modified:
llvm/trunk/lib/Analysis/AliasSetTracker.cpp
Author: djg
Date: Mon Oct 1 11:01:23 2007
New Revision: 42487
URL: http://llvm.org/viewvc/llvm-project?rev=42487view=rev
Log:
Add empty() member functions to a few container-like classes.
Modified:
llvm/trunk/include/llvm/Analysis/CallGraph.h
llvm/trunk/include/llvm/Analysis/LoopInfo.h
Author: djg
Date: Mon Oct 1 17:40:20 2007
New Revision: 42506
URL: http://llvm.org/viewvc/llvm-project?rev=42506view=rev
Log:
Move the code that emits the .file directives so that it runs after the
SourceFiles list is fully filled in so that it sees all of the files.
Modified:
Author: djg
Date: Fri Sep 28 10:43:33 2007
New Revision: 42434
URL: http://llvm.org/viewvc/llvm-project?rev=42434view=rev
Log:
Use 32-bit data directives for DW_FORM_data4 format data, even on
targets with 64-bit addresses.
Modified:
llvm/trunk/lib/CodeGen/DwarfWriter.cpp
Modified:
result.
BTW, I intend to get rid of parallel. I just haven't gotten around
to it.
Ok, cool. I'll take a closer look at this when it's ready.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http
Author: djg
Date: Fri Sep 28 11:50:28 2007
New Revision: 42435
URL: http://llvm.org/viewvc/llvm-project?rev=42435view=rev
Log:
Make the checks for DW_FORM_data4 consistent with the others, and
add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf.
Modified:
patch depends on sqrt
using anyfloat.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
for the likes of sqrt, I'd like to know
of it before I get around to updating and submitting the patch :-).
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Fri Sep 28 18:53:40 2007
New Revision: 42457
URL: http://llvm.org/viewvc/llvm-project?rev=42457view=rev
Log:
Teach SplitVectorOp how to split INSERT_VECTOR_ELT.
Added:
llvm/trunk/test/CodeGen/X86/illegal-insert.ll
Modified:
Author: djg
Date: Thu Sep 27 18:12:31 2007
New Revision: 42419
URL: http://llvm.org/viewvc/llvm-project?rev=42419view=rev
Log:
TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targets
other than PPC64. Instead of fixing it, just remove it and fix all the
places that use it to
Author: djg
Date: Tue Sep 25 10:10:49 2007
New Revision: 42297
URL: http://llvm.org/viewvc/llvm-project?rev=42297view=rev
Log:
Move the setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand) and
the check to see if the assembler supports .loc from X86TargetLowering
into the superclass
counterparts, nodes can return at most one result.
They must be grouped together in a parallel to represent operations that have
multiple results. It seems like this will result in more discrepancies. Am I
misunderstanding something?
Dan
--
Dan Gohman, Cray Inc
Author: djg
Date: Tue Sep 25 13:23:27 2007
New Revision: 42308
URL: http://llvm.org/viewvc/llvm-project?rev=42308view=rev
Log:
When both x/y and x%y are needed (x and y both scalar integer), compute
both results with a single div or idiv instruction. This uses new X86ISD
nodes for DIV and IDIV
Author: djg
Date: Tue Sep 25 14:37:26 2007
New Revision: 42313
URL: http://llvm.org/viewvc/llvm-project?rev=42313view=rev
Log:
Fix a typo in a comment.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.h
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.h
URL:
Author: djg
Date: Tue Sep 25 15:27:06 2007
New Revision: 42316
URL: http://llvm.org/viewvc/llvm-project?rev=42316view=rev
Log:
More explicit keywords.
Modified:
llvm/trunk/lib/Target/ARM/ARMTargetAsmInfo.h
llvm/trunk/lib/Target/Alpha/AlphaTargetAsmInfo.h
Author: djg
Date: Mon Sep 24 10:46:02 2007
New Revision: 42261
URL: http://llvm.org/viewvc/llvm-project?rev=42261view=rev
Log:
Remove an unnecessary static_cast.
Modified:
llvm/trunk/include/llvm/Instructions.h
Modified: llvm/trunk/include/llvm/Instructions.h
URL:
Author: djg
Date: Mon Sep 24 10:48:49 2007
New Revision: 42262
URL: http://llvm.org/viewvc/llvm-project?rev=42262view=rev
Log:
explicit keywords.
Modified:
llvm/trunk/include/llvm/CodeGen/MachineModuleInfo.h
llvm/trunk/lib/Transforms/Scalar/GVNPRE.cpp
Modified:
Author: djg
Date: Mon Sep 24 10:50:11 2007
New Revision: 42263
URL: http://llvm.org/viewvc/llvm-project?rev=42263view=rev
Log:
Fix a typo in a comment.
Modified:
llvm/trunk/test/CodeGen/Generic/fwdtwice.ll
Modified: llvm/trunk/test/CodeGen/Generic/fwdtwice.ll
URL:
Author: djg
Date: Mon Sep 24 10:54:53 2007
New Revision: 42264
URL: http://llvm.org/viewvc/llvm-project?rev=42264view=rev
Log:
Use the correct result value type instead of using getValueType(0)
in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort
in the included testcase.
Added:
Author: djg
Date: Mon Sep 24 11:44:26 2007
New Revision: 42265
URL: http://llvm.org/viewvc/llvm-project?rev=42265view=rev
Log:
The code that used the StartLabelId label was removed, so remove the
code that creates the label too.
Modified:
llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
Author: djg
Date: Mon Sep 24 14:25:06 2007
New Revision: 42268
URL: http://llvm.org/viewvc/llvm-project?rev=42268view=rev
Log:
Fix the syntax for the .loc directive in preparation for using it.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.td
Modified:
Do not promote null values because it may be unsafe to do so.
Interesting. See our earlier discussion on LICM checking for
NULL constants :-}.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http
Author: djg
Date: Mon Sep 24 15:58:13 2007
New Revision: 42272
URL: http://llvm.org/viewvc/llvm-project?rev=42272view=rev
Log:
Add a routine for emitting .file directives, for setting up
file numbers to use with .loc directives.
Modified:
llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
Author: djg
Date: Mon Sep 24 16:09:53 2007
New Revision: 42274
URL: http://llvm.org/viewvc/llvm-project?rev=42274view=rev
Log:
Merge hasDotLoc and hasDotFile into hasDotLocAndDotFile since .loc and .file
aren't really usable without each other.
Modified:
Author: djg
Date: Mon Sep 24 16:32:18 2007
New Revision: 42275
URL: http://llvm.org/viewvc/llvm-project?rev=42275view=rev
Log:
Add support for emitting .file directives to set up file numbers for
use with .loc directives.
Modified:
llvm/trunk/lib/CodeGen/DwarfWriter.cpp
Modified:
Author: djg
Date: Mon Sep 24 16:36:21 2007
New Revision: 42276
URL: http://llvm.org/viewvc/llvm-project?rev=42276view=rev
Log:
Move the Asm-EOL() call for EmitDebugARanges outside the #ifdef for
consistency with the other currently empty sections.
Modified:
Author: djg
Date: Mon Sep 24 16:43:52 2007
New Revision: 42277
URL: http://llvm.org/viewvc/llvm-project?rev=42277view=rev
Log:
Don't emit .debug_line header data if there aren't any lines to put in it,
such as will happen when .loc directives are used.
Modified:
Author: djg
Date: Mon Sep 24 16:54:14 2007
New Revision: 42278
URL: http://llvm.org/viewvc/llvm-project?rev=42278view=rev
Log:
Add support on x86 for having Legalize lower ISD::LOCATION to ISD::DEBUG_LOC
instead of ISD::LABEL with a manual .debug_line entry when the assembler
supports .file and
Author: djg
Date: Fri Sep 21 10:24:00 2007
New Revision: 42190
URL: http://llvm.org/viewvc/llvm-project?rev=42190view=rev
Log:
There is no {rsqrt,rcp}{p,s}d.
Modified:
llvm/trunk/include/llvm/IntrinsicsX86.td
Modified: llvm/trunk/include/llvm/IntrinsicsX86.td
URL:
Author: djg
Date: Thu Sep 20 09:17:21 2007
New Revision: 42162
URL: http://llvm.org/viewvc/llvm-project?rev=42162view=rev
Log:
Fix several more entries in the x86 reload/remat folding tables.
Added:
llvm/trunk/test/CodeGen/X86/sse_reload_fold.ll
Modified:
this:
while (x) {
body;
}
to this:
if (x) {
do {
body;
} while (x);
}
In the second form, code hoisted/sunk/promoted out of the loop will
still be under the guard of the if. Also see tree-ssa-loop-ch.c in GCC,
for example.
Dan
--
Dan Gohman, Cray Inc
location, null pointer constants or
otherwise.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Tue Sep 18 09:59:14 2007
New Revision: 42094
URL: http://llvm.org/viewvc/llvm-project?rev=42094view=rev
Log:
Move the entries for 64-bit CMP, IMUL, and a few others into the correct
tables so that they are eligible for reload/remat folding. And add
entries for JMP and CALL.
= %blah.i
call void @exit( i32 0 )
unreachable
}
declare void @exit(i32)
Even with the latest changes, LICM puts a load of %tmp1.i in the
entry block, which isn't safe.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm
.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Mon Sep 17 09:35:24 2007
New Revision: 42024
URL: http://llvm.org/viewvc/llvm-project?rev=42024view=rev
Log:
Use test reg,reg in place of cmp reg,0 for 64-bit operands. This was
previously only done for 32-bit and smaller operands.
Added:
llvm/trunk/test/CodeGen/X86/cmp0.ll
Author: djg
Date: Mon Sep 17 09:49:27 2007
New Revision: 42026
URL: http://llvm.org/viewvc/llvm-project?rev=42026view=rev
Log:
Emit integer x1 as x=0, as comparisons with zero (now includeing
64-bit) can use test instead of cmp with an immediate.
Added:
llvm/trunk/test/CodeGen/X86/cmp1.ll
Author: djg
Date: Mon Sep 17 09:55:08 2007
New Revision: 42027
URL: http://llvm.org/viewvc/llvm-project?rev=42027view=rev
Log:
Use xorl instead of xorq to enter a zero into a 64-bit register.
Modified:
llvm/trunk/lib/Target/X86/X86InstrX86-64.td
Modified:
Author: djg
Date: Mon Sep 17 10:19:08 2007
New Revision: 42029
URL: http://llvm.org/viewvc/llvm-project?rev=42029view=rev
Log:
Add 64-bit jmp instructions to the list of instructions that
can terminate a block with no fall-through.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Author: djg
Date: Mon Sep 17 12:31:57 2007
New Revision: 42035
URL: http://llvm.org/viewvc/llvm-project?rev=42035view=rev
Log:
Instcombine x-((x/y)*y) into a remainder operator.
Added:
llvm/trunk/test/Transforms/InstCombine/srem.ll
llvm/trunk/test/Transforms/InstCombine/urem.ll
Modified:
Author: djg
Date: Mon Sep 17 12:44:31 2007
New Revision: 42038
URL: http://llvm.org/viewvc/llvm-project?rev=42038view=rev
Log:
Add a utility function to SDOperand for testing if a value is unused.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
Modified:
Doh. Thanks Dan. Was this breaking anything? Seems to me this fix
should be merged into the release branch. What do you say?
The only in-tree user of BlockHasNoFallThrough appears to be BranchFolding,
and there it's just guarding an optimization.
Dan
--
Dan Gohman, Cray Inc
:-) I've already implemented it though.
Ok, thanks!
Why do you prefer to revert the change?
I don't, now that the fix is in.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo
Author: djg
Date: Fri Sep 14 15:08:19 2007
New Revision: 41956
URL: http://llvm.org/viewvc/llvm-project?rev=41956view=rev
Log:
Remove spurious consts. This fixes warnings with compilers that
are strict about such things.
Modified:
llvm/trunk/include/llvm/CodeGen/MachineInstr.h
Author: djg
Date: Fri Sep 14 15:11:40 2007
New Revision: 41957
URL: http://llvm.org/viewvc/llvm-project?rev=41957view=rev
Log:
Change tmp. to tmp for temporaries created by ScalarEvolutionExpander
for consistency with many other transforms.
Modified:
Author: djg
Date: Fri Sep 14 15:33:02 2007
New Revision: 41958
URL: http://llvm.org/viewvc/llvm-project?rev=41958view=rev
Log:
Remove isReg, isImm, and isMBB, and change all their users to use
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.
Modified:
Author: djg
Date: Fri Sep 14 15:48:42 2007
New Revision: 41960
URL: http://llvm.org/viewvc/llvm-project?rev=41960view=rev
Log:
And an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoid
ambiguity.
Modified:
llvm/trunk/include/llvm/ADT/FoldingSet.h
Author: djg
Date: Fri Sep 14 15:37:18 2007
New Revision: 41959
URL: http://llvm.org/viewvc/llvm-project?rev=41959view=rev
Log:
Add explicit triples to avoid default behavior that varies by host.
Modified:
llvm/trunk/test/CodeGen/PowerPC/fabs.ll
Modified:
Author: djg
Date: Fri Sep 14 18:17:45 2007
New Revision: 41975
URL: http://llvm.org/viewvc/llvm-project?rev=41975view=rev
Log:
Add patterns for SHLD64* and SHRD64*.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
llvm/trunk/lib/Target/X86/X86InstrX86-64.td
Modified:
.
Are you saying such a fix exists already, or that this is how a fix
should work? If the latter, I'd prefer to just revert the change to
the instructions that use xor so that they are not marked
rematerializable for now (though the ones that use pxor/xorps/xorpd
are ok).
Dan
--
Dan Gohman, Cray
Author: djg
Date: Fri Sep 7 16:32:51 2007
New Revision: 41775
URL: http://llvm.org/viewvc/llvm-project?rev=41775view=rev
Log:
Avoid storing and reloading zeros and other constants from stack slots
by flagging the associated instructions as being trivially rematerializable.
Added:
.
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Tue Aug 28 15:32:58 2007
New Revision: 41556
URL: http://llvm.org/viewvc/llvm-project?rev=41556view=rev
Log:
Add an option, -view-sunit-dags, for viewing the actual SUnit DAGs used by
scheduling.
Modified:
llvm/trunk/include/llvm/CodeGen/ScheduleDAG.h
Author: djg
Date: Mon Aug 27 09:50:10 2007
New Revision: 41482
URL: http://llvm.org/viewvc/llvm-project?rev=41482view=rev
Log:
Add explicit keywords and remove spurious trailing semicolons.
Modified:
llvm/trunk/include/llvm/ADT/FoldingSet.h
llvm/trunk/include/llvm/CodeGen/LiveInterval.h
Author: djg
Date: Mon Aug 27 11:11:48 2007
New Revision: 41488
URL: http://llvm.org/viewvc/llvm-project?rev=41488view=rev
Log:
Change comments to refer to @malloc and @free instead of %malloc and %free.
Modified:
llvm/trunk/lib/Transforms/IPO/RaiseAllocations.cpp
Modified:
Author: djg
Date: Mon Aug 27 11:26:13 2007
New Revision: 41489
URL: http://llvm.org/viewvc/llvm-project?rev=41489view=rev
Log:
If the source and destination pointers in an llvm.memmove are known
to not alias each other, it can be translated as an llvm.memcpy.
Added:
Author: djg
Date: Mon Aug 27 11:32:11 2007
New Revision: 41491
URL: http://llvm.org/viewvc/llvm-project?rev=41491view=rev
Log:
Make DAGCombiner's global alias analysis query more precise in the case
where both pointers have non-zero offsets.
Modified:
to be in a pass by itself, or would you want to add it,
along with an addRequiredAliasAnalysis, to some existing pass?
Dan
--
Dan Gohman, Cray Inc.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: djg
Date: Mon Aug 27 15:54:48 2007
New Revision: 41510
URL: http://llvm.org/viewvc/llvm-project?rev=41510view=rev
Log:
Add explicit triples to avoid default behavior that varies by host.
Modified:
llvm/trunk/test/CodeGen/X86/memmove-0.ll
llvm/trunk/test/CodeGen/X86/memmove-1.ll
101 - 200 of 446 matches
Mail list logo