oota-llvm.git
18 years agonew testcase
Chris Lattner [Mon, 18 Sep 2006 07:01:39 +0000 (07:01 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30458 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note. Our 64-bit shifts are ~30% slower than gcc's
Chris Lattner [Mon, 18 Sep 2006 05:36:54 +0000 (05:36 +0000)]
add a note.  Our 64-bit shifts are ~30% slower than gcc's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30457 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement InstCombine/cast.ll:test31. This speeds up 462.libquantum by 26%.
Chris Lattner [Mon, 18 Sep 2006 05:27:43 +0000 (05:27 +0000)]
Implement InstCombine/cast.ll:test31.  This speeds up 462.libquantum by 26%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30456 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Mon, 18 Sep 2006 05:25:10 +0000 (05:25 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30455 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd support for pattern matching cast operations
Chris Lattner [Mon, 18 Sep 2006 05:17:11 +0000 (05:17 +0000)]
Add support for pattern matching cast operations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30454 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix typo
Chris Lattner [Mon, 18 Sep 2006 04:58:06 +0000 (04:58 +0000)]
fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30453 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a helper method
Chris Lattner [Mon, 18 Sep 2006 04:54:57 +0000 (04:54 +0000)]
add a helper method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30452 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis is closer to what we really want.
Chris Lattner [Mon, 18 Sep 2006 04:54:35 +0000 (04:54 +0000)]
This is closer to what we really want.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30451 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement Transforms/InstCombine/shift-sra.ll:test0
Chris Lattner [Mon, 18 Sep 2006 04:31:40 +0000 (04:31 +0000)]
Implement Transforms/InstCombine/shift-sra.ll:test0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30450 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase, can be an srl instead of sra
Chris Lattner [Mon, 18 Sep 2006 04:31:18 +0000 (04:31 +0000)]
New testcase, can be an srl instead of sra

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30449 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRewrite shift/and/compare sequences to promote better licm of the RHS.
Chris Lattner [Mon, 18 Sep 2006 04:22:48 +0000 (04:22 +0000)]
Rewrite shift/and/compare sequences to promote better licm of the RHS.
Use isLogicalShift/isArithmeticShift to simplify code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30448 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake the LLVM Publications link point to /pubs/ since this has moved to
Reid Spencer [Sun, 17 Sep 2006 23:05:15 +0000 (23:05 +0000)]
Make the LLVM Publications link point to /pubs/ since this has moved to
its own page on the LLVM web site.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30447 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded some eye-candy for Subtarget type checking
Anton Korobeynikov [Sun, 17 Sep 2006 20:25:45 +0000 (20:25 +0000)]
Added some eye-candy for Subtarget type checking
Added X86 StdCall & FastCall calling conventions. Codegen will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30446 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd ShiftInst::isLogical/ArithmeticShift methods.
Chris Lattner [Sun, 17 Sep 2006 19:29:56 +0000 (19:29 +0000)]
Add ShiftInst::isLogical/ArithmeticShift methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30445 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd new SetCondInst::isRelational/isEquality methods. Rename
Chris Lattner [Sun, 17 Sep 2006 19:14:47 +0000 (19:14 +0000)]
Add new SetCondInst::isRelational/isEquality methods.  Rename
Instruction::isRelational to Instruction::isComparison.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30444 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoExplain change with a comment.
Nick Lewycky [Sun, 17 Sep 2006 17:51:00 +0000 (17:51 +0000)]
Explain change with a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30443 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix PR912. The input to erase() must not be a reference to the data
Nick Lewycky [Sun, 17 Sep 2006 16:23:36 +0000 (16:23 +0000)]
Fix PR912. The input to erase() must not be a reference to the data
being erased.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30442 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSmall fixes for supporting dll* linkage types
Anton Korobeynikov [Sun, 17 Sep 2006 13:06:18 +0000 (13:06 +0000)]
Small fixes for supporting dll* linkage types

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30441 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note noticed through source inspection
Chris Lattner [Sat, 16 Sep 2006 23:57:51 +0000 (23:57 +0000)]
add a note noticed through source inspection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30418 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOh yeah, this is needed too
Chris Lattner [Sat, 16 Sep 2006 05:08:34 +0000 (05:08 +0000)]
Oh yeah, this is needed too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30407 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note
Chris Lattner [Sat, 16 Sep 2006 03:30:19 +0000 (03:30 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30406 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913
Chris Lattner [Sat, 16 Sep 2006 03:14:10 +0000 (03:14 +0000)]
Fix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30405 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase for PR913
Chris Lattner [Sat, 16 Sep 2006 03:13:22 +0000 (03:13 +0000)]
Testcase for PR913

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30404 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agosimplify control flow, no functionality change
Chris Lattner [Sat, 16 Sep 2006 00:21:44 +0000 (00:21 +0000)]
simplify control flow, no functionality change

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30403 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow custom expand of mul
Chris Lattner [Sat, 16 Sep 2006 00:09:24 +0000 (00:09 +0000)]
Allow custom expand of mul

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30402 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agocomment out debug code
Chris Lattner [Fri, 15 Sep 2006 23:01:10 +0000 (23:01 +0000)]
comment out debug code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30401 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a new -cbe-bug mode, which works just like -run-llc, except that it uses
Chris Lattner [Fri, 15 Sep 2006 21:29:15 +0000 (21:29 +0000)]
Add a new -cbe-bug mode, which works just like -run-llc, except that it uses
LLC as the reference compiler to reduce testcases for bugs in GCC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30400 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a nate note
Chris Lattner [Fri, 15 Sep 2006 20:31:36 +0000 (20:31 +0000)]
add a nate note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30399 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoxfail this for now
Chris Lattner [Fri, 15 Sep 2006 17:25:22 +0000 (17:25 +0000)]
xfail this for now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30398 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agorevert previous two patches. They cause miscompilation of MultiSource/Applications...
Chris Lattner [Fri, 15 Sep 2006 17:24:45 +0000 (17:24 +0000)]
revert previous two patches.  They cause miscompilation of MultiSource/Applications/Burg

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30397 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSwitching to NewNightlyTest.php
Jim Laskey [Fri, 15 Sep 2006 17:03:36 +0000 (17:03 +0000)]
Switching to NewNightlyTest.php

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30394 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThe inliner strips dead allocas now. Add a use to allow this test to
Chris Lattner [Fri, 15 Sep 2006 16:53:11 +0000 (16:53 +0000)]
The inliner strips dead allocas now.  Add a use to allow this test to
test the right thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30393 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRevert my previous work on ArgumentPromotion. Further investigation has revealed...
Owen Anderson [Fri, 15 Sep 2006 05:22:51 +0000 (05:22 +0000)]
Revert my previous work on ArgumentPromotion.  Further investigation has revealed these
changes to be incorrect.  They just weren't showing up in any of our current testcases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30385 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUnbreak the JIT
Chris Lattner [Fri, 15 Sep 2006 04:56:11 +0000 (04:56 +0000)]
Unbreak the JIT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30384 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoKeep track of the start of MBB's in a separate map from instructions. This
Chris Lattner [Fri, 15 Sep 2006 03:57:23 +0000 (03:57 +0000)]
Keep track of the start of MBB's in a separate map from instructions.  This
is faster and is needed for future improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30383 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove a unnecessary check.
Evan Cheng [Thu, 14 Sep 2006 23:55:02 +0000 (23:55 +0000)]
Remove a unnecessary check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30382 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRelax this check.
Chris Lattner [Thu, 14 Sep 2006 23:54:24 +0000 (23:54 +0000)]
Relax this check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30381 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUndo previous check-in.
Devang Patel [Thu, 14 Sep 2006 21:43:24 +0000 (21:43 +0000)]
Undo previous check-in.
Reintroduce recursive assignDFSNumber().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30380 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFold (X & C1) | (Y & C2) -> (X|Y) & C3 when possible.
Chris Lattner [Thu, 14 Sep 2006 21:11:37 +0000 (21:11 +0000)]
Fold (X & C1) | (Y & C2)  -> (X|Y) & C3 when possible.
This implements CodeGen/X86/and-or-fold.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30379 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase
Chris Lattner [Thu, 14 Sep 2006 21:10:06 +0000 (21:10 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30378 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note
Chris Lattner [Thu, 14 Sep 2006 20:56:30 +0000 (20:56 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30377 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSplit rotate matching code out to its own function. Make it stronger, by
Chris Lattner [Thu, 14 Sep 2006 20:50:57 +0000 (20:50 +0000)]
Split rotate matching code out to its own function.  Make it stronger, by
matching things like ((x >> c1) & c2) | ((x << c3) & c4) to (rot x, c5) & c6

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30376 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdding generated files for the last commit
Anton Korobeynikov [Thu, 14 Sep 2006 18:25:26 +0000 (18:25 +0000)]
Adding generated files for the last commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30375 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdding dllimport, dllexport and external weak linkage types.
Anton Korobeynikov [Thu, 14 Sep 2006 18:23:27 +0000 (18:23 +0000)]
Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse getOffset() instead.
Evan Cheng [Thu, 14 Sep 2006 07:41:12 +0000 (07:41 +0000)]
Use getOffset() instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30327 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse MachineConstantPoolEntry getOffset() and getType() accessors.
Evan Cheng [Thu, 14 Sep 2006 07:35:00 +0000 (07:35 +0000)]
Use MachineConstantPoolEntry getOffset() and getType() accessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30326 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd MachineConstantPoolEntry getOffset() accessor.
Evan Cheng [Thu, 14 Sep 2006 07:32:32 +0000 (07:32 +0000)]
Add MachineConstantPoolEntry getOffset() accessor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30325 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThe top bit is used to determine whether it's a MachineConstantPoolValue.
Evan Cheng [Thu, 14 Sep 2006 07:30:48 +0000 (07:30 +0000)]
The top bit is used to determine whether it's a MachineConstantPoolValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30324 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agorevert accidentally committed file
Chris Lattner [Thu, 14 Sep 2006 06:42:17 +0000 (06:42 +0000)]
revert accidentally committed file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30323 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove dead methods, add getNumBlockIDs() method
Chris Lattner [Thu, 14 Sep 2006 06:40:48 +0000 (06:40 +0000)]
Remove dead methods, add getNumBlockIDs() method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30322 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse new config.h macro
Chris Lattner [Thu, 14 Sep 2006 06:21:59 +0000 (06:21 +0000)]
Use new config.h macro

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30321 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a HAVE_MACH_MACH_H #define to detect the presence of the mach/mach.h
Reid Spencer [Thu, 14 Sep 2006 06:17:21 +0000 (06:17 +0000)]
Add a HAVE_MACH_MACH_H #define to detect the presence of the mach/mach.h
header file on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30319 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a new (hidden) -disable-core-files option
Chris Lattner [Thu, 14 Sep 2006 06:17:09 +0000 (06:17 +0000)]
add a new (hidden) -disable-core-files option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30318 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOn Mac OS/X, make Process::PreventCoreFiles disable crash reporter for
Chris Lattner [Thu, 14 Sep 2006 06:01:41 +0000 (06:01 +0000)]
On Mac OS/X, make Process::PreventCoreFiles disable crash reporter for
the process in addition to disabling core file emission.  This speeds up
bugpoint on default-configured macs by several orders of magnitude.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30317 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoA MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* values.
Evan Cheng [Thu, 14 Sep 2006 05:50:57 +0000 (05:50 +0000)]
A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30316 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd comment.
Devang Patel [Thu, 14 Sep 2006 05:49:10 +0000 (05:49 +0000)]
Add comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30315 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMirrors ConstantPoolSDNode.
Evan Cheng [Thu, 14 Sep 2006 05:48:39 +0000 (05:48 +0000)]
Mirrors ConstantPoolSDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30314 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDocument new --enable-valgrind option.
Nick Lewycky [Thu, 14 Sep 2006 04:33:29 +0000 (04:33 +0000)]
Document new --enable-valgrind option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30313 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix --enable-valgrind. Add room for the new arguments, and don't keep
Nick Lewycky [Thu, 14 Sep 2006 04:20:17 +0000 (04:20 +0000)]
Fix --enable-valgrind. Add room for the new arguments, and don't keep
a pointer to a temporary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30312 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd --enable-valgrind option to run optimizations through valgrind to
Nick Lewycky [Thu, 14 Sep 2006 03:49:54 +0000 (03:49 +0000)]
Add --enable-valgrind option to run optimizations through valgrind to
pick up on memory errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30311 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGlobalValue with InternalLinkage may have operands with ExternalLinkage
Devang Patel [Thu, 14 Sep 2006 01:35:13 +0000 (01:35 +0000)]
GlobalValue with InternalLinkage may have operands with ExternalLinkage
type. Do not ignore these operands while finding external references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30310 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAvoid recursion in assignDFSNumber(). Move def from ET-Forest.h
Devang Patel [Thu, 14 Sep 2006 01:27:42 +0000 (01:27 +0000)]
Avoid recursion in assignDFSNumber(). Move def from ET-Forest.h
to Dominators.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30309 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd note about switch lowering
Chris Lattner [Wed, 13 Sep 2006 23:37:16 +0000 (23:37 +0000)]
add note about switch lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30308 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSecond half of the fix for Transforms/Inline/inline_cleanup.ll
Chris Lattner [Wed, 13 Sep 2006 21:27:00 +0000 (21:27 +0000)]
Second half of the fix for Transforms/Inline/inline_cleanup.ll

This folds unconditional branches that are often produced by code
specialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30307 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd some more consistency checks.
Nick Lewycky [Wed, 13 Sep 2006 19:32:53 +0000 (19:32 +0000)]
Add some more consistency checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30305 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix unionSets so that it can merge correctly.
Nick Lewycky [Wed, 13 Sep 2006 19:24:01 +0000 (19:24 +0000)]
Fix unionSets so that it can merge correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30304 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement the first half of Transforms/Inline/inline_cleanup.ll
Chris Lattner [Wed, 13 Sep 2006 19:23:57 +0000 (19:23 +0000)]
Implement the first half of Transforms/Inline/inline_cleanup.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30303 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 13 Sep 2006 19:23:43 +0000 (19:23 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30302 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSkip over first operand when determining REX prefix for two-address code.
Evan Cheng [Wed, 13 Sep 2006 19:07:28 +0000 (19:07 +0000)]
Skip over first operand when determining REX prefix for two-address code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30300 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoErase dead instructions.
Nick Lewycky [Wed, 13 Sep 2006 18:55:37 +0000 (18:55 +0000)]
Erase dead instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30298 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThe sense of this branch was backwards
Chris Lattner [Wed, 13 Sep 2006 17:58:57 +0000 (17:58 +0000)]
The sense of this branch was backwards

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30296 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTurn X < 0 -> TEST X,X js
Chris Lattner [Wed, 13 Sep 2006 17:04:54 +0000 (17:04 +0000)]
Turn X < 0 -> TEST X,X js

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30294 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThe sense of this branch was inverted :(
Chris Lattner [Wed, 13 Sep 2006 16:56:12 +0000 (16:56 +0000)]
The sense of this branch was inverted :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30293 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a ton of jit failures
Chris Lattner [Wed, 13 Sep 2006 16:21:10 +0000 (16:21 +0000)]
Fix a ton of jit failures

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30292 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd shifts to addressing mode 1
Rafael Espindola [Wed, 13 Sep 2006 12:09:43 +0000 (12:09 +0000)]
add shifts to addressing mode 1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30291 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoIf LSR went through a lot of trouble to put constants (e.g. the addr of a global
Chris Lattner [Wed, 13 Sep 2006 06:02:42 +0000 (06:02 +0000)]
If LSR went through a lot of trouble to put constants (e.g. the addr of a global
in a specific BB, don't undo this!).  This allows us to compile
CodeGen/X86/loop-hoist.ll into:

_foo:
        xorl %eax, %eax
***     movl L_Arr$non_lazy_ptr, %ecx
        movl 4(%esp), %edx
LBB1_1: #cond_true
        movl %eax, (%ecx,%eax,4)
        incl %eax
        cmpl %edx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret

instead of:

_foo:
        xorl %eax, %eax
        movl 4(%esp), %ecx
LBB1_1: #cond_true
***     movl L_Arr$non_lazy_ptr, %edx
        movl %eax, (%edx,%eax,4)
        incl %eax
        cmpl %ecx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret

This was noticed in 464.h264ref.  This doesn't usually affect PPC,
but strikes X86 all the time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30290 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 13 Sep 2006 05:59:25 +0000 (05:59 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30289 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a regression in the 32-bit port from the 64-bit port landing.
Chris Lattner [Wed, 13 Sep 2006 04:45:25 +0000 (04:45 +0000)]
Fix a regression in the 32-bit port from the 64-bit port landing.
We now compile CodeGen/X86/lea-2.ll into:

_test:
        movl 4(%esp), %eax
        movl 8(%esp), %ecx
        leal -5(%ecx,%eax,4), %eax
        ret

instead of:

_test:
        movl 4(%esp), %eax
        leal (,%eax,4), %eax
        addl 8(%esp), %eax
        addl $4294967291, %eax
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30288 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase
Chris Lattner [Wed, 13 Sep 2006 04:43:26 +0000 (04:43 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30287 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew note
Chris Lattner [Wed, 13 Sep 2006 04:19:50 +0000 (04:19 +0000)]
new note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30286 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew note
Chris Lattner [Wed, 13 Sep 2006 03:54:54 +0000 (03:54 +0000)]
new note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30285 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCompile X << 1 (where X is a long-long) to:
Chris Lattner [Wed, 13 Sep 2006 03:50:39 +0000 (03:50 +0000)]
Compile X << 1 (where X is a long-long) to:

        addl %ecx, %ecx
        adcl %eax, %eax

instead of:

        movl %ecx, %edx
        addl %edx, %edx
        shrl $31, %ecx
        addl %eax, %eax
        orl %ecx, %eax

and to:

        addc r5, r5, r5
        adde r4, r4, r4

instead of:

        slwi r2,r9,1
        srwi r0,r11,31
        slwi r3,r11,1
        or r2,r0,r2

on PPC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30284 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCompile X > -1 -> text X,X; js dest
Chris Lattner [Wed, 13 Sep 2006 03:22:10 +0000 (03:22 +0000)]
Compile X > -1   -> text X,X; js dest
This implements CodeGen/X86/jump_sign.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30283 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 13 Sep 2006 03:21:27 +0000 (03:21 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30282 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoInitialize DontInternalize.
Devang Patel [Wed, 13 Sep 2006 01:02:26 +0000 (01:02 +0000)]
Initialize DontInternalize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30281 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoReflects MachineConstantPoolEntry changes.
Evan Cheng [Tue, 12 Sep 2006 21:04:05 +0000 (21:04 +0000)]
Reflects MachineConstantPoolEntry changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30279 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded support for machine specific constantpool values. These are useful for
Evan Cheng [Tue, 12 Sep 2006 21:00:35 +0000 (21:00 +0000)]
Added support for machine specific constantpool values. These are useful for
representing expressions that can only be resolved at link time, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30278 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoReflect MachineConstantPoolEntry changes.
Evan Cheng [Tue, 12 Sep 2006 20:59:59 +0000 (20:59 +0000)]
Reflect MachineConstantPoolEntry changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30277 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCorrect the URL to the attrib.incl file.
John Criswell [Tue, 12 Sep 2006 20:30:13 +0000 (20:30 +0000)]
Correct the URL to the attrib.incl file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30276 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAn sinkable instruction may exist with uses, if those uses are in dead blocks.
Chris Lattner [Tue, 12 Sep 2006 19:17:09 +0000 (19:17 +0000)]
An sinkable instruction may exist with uses, if those uses are in dead blocks.
Handle this.  This fixes PR908 and Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30275 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotestcase for PR908
Chris Lattner [Tue, 12 Sep 2006 19:16:04 +0000 (19:16 +0000)]
testcase for PR908

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30274 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase that crashes the C++ FE.
Chris Lattner [Tue, 12 Sep 2006 16:28:14 +0000 (16:28 +0000)]
Testcase that crashes the C++ FE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30273 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note
Chris Lattner [Tue, 12 Sep 2006 06:36:01 +0000 (06:36 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30271 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd ability to remove nodes from DominatorTree, for when a BasicBlock
Nick Lewycky [Tue, 12 Sep 2006 00:18:28 +0000 (00:18 +0000)]
Add ability to remove nodes from DominatorTree, for when a BasicBlock
is being removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30270 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase noticed from PR906
Chris Lattner [Mon, 11 Sep 2006 23:00:56 +0000 (23:00 +0000)]
Testcase noticed from PR906

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30269 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd compilable testcase
Chris Lattner [Mon, 11 Sep 2006 22:57:51 +0000 (22:57 +0000)]
add compilable testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30268 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase for PR906
Chris Lattner [Mon, 11 Sep 2006 22:48:23 +0000 (22:48 +0000)]
new testcase for PR906

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30267 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix PR905 and InstCombine/2006-09-11-EmptyStructCrash.ll
Chris Lattner [Mon, 11 Sep 2006 21:43:16 +0000 (21:43 +0000)]
Fix PR905 and InstCombine/2006-09-11-EmptyStructCrash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30266 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase for PR905
Chris Lattner [Mon, 11 Sep 2006 21:41:56 +0000 (21:41 +0000)]
new testcase for PR905

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30265 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoimplement SRL and MUL
Rafael Espindola [Mon, 11 Sep 2006 19:24:19 +0000 (19:24 +0000)]
implement SRL and MUL

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30262 91177308-0d34-0410-b5e6-96231b3b80d8