oota-llvm.git
18 years agoadd floating point registers
Rafael Espindola [Fri, 29 Sep 2006 21:20:16 +0000 (21:20 +0000)]
add floating point registers
implement SINT_TO_FP

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

18 years agoMove CompileCommonOpts to the end of the list so that EXTRA_OPTIONS=-O0 will
Chris Lattner [Fri, 29 Sep 2006 18:47:13 +0000 (18:47 +0000)]
Move CompileCommonOpts to the end of the list so that EXTRA_OPTIONS=-O0 will
override the optimization level.

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

18 years agoDefine this in the correct n/s
Chris Lattner [Fri, 29 Sep 2006 18:43:14 +0000 (18:43 +0000)]
Define this in the correct n/s

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

18 years agoAdjust this to the wonky syntax that GCC expects.
Chris Lattner [Fri, 29 Sep 2006 17:34:56 +0000 (17:34 +0000)]
Adjust this to the wonky syntax that GCC expects.

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

18 years agoWrong directory.
Jim Laskey [Fri, 29 Sep 2006 17:31:45 +0000 (17:31 +0000)]
Wrong directory.

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

18 years agoMinor cleanups
Chris Lattner [Thu, 28 Sep 2006 23:45:00 +0000 (23:45 +0000)]
Minor cleanups

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

18 years agoNow that ConstantBool::True/False are gone, we can modify Type.cpp to
Chris Lattner [Thu, 28 Sep 2006 23:38:07 +0000 (23:38 +0000)]
Now that ConstantBool::True/False are gone, we can modify Type.cpp to
eliminate its static dtors, without having code that depends on order of
initialization.  Eliminate static ctors/dtors from Type.cpp.

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

18 years agoEliminate ConstantBool::True and ConstantBool::False. Instead, provide
Chris Lattner [Thu, 28 Sep 2006 23:36:21 +0000 (23:36 +0000)]
Eliminate ConstantBool::True and ConstantBool::False.  Instead, provide
ConstantBool::getTrue() and ConstantBool::getFalse().

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

18 years agoEliminate ConstantBool::True and ConstantBool::False. Instead, provide
Chris Lattner [Thu, 28 Sep 2006 23:35:22 +0000 (23:35 +0000)]
Eliminate ConstantBool::True and ConstantBool::False.  Instead, provide
ConstantBool::getTrue() and ConstantBool::getFalse().

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

18 years agoEliminate ConstantBool::True and ConstantBool::False. Instead, provideConstantBool...
Chris Lattner [Thu, 28 Sep 2006 23:34:49 +0000 (23:34 +0000)]
Eliminate ConstantBool::True and ConstantBool::False.  Instead, provideConstantBool::getTrue() and ConstantBool::getFalse().

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

18 years agoupdate comments
Chris Lattner [Thu, 28 Sep 2006 23:33:12 +0000 (23:33 +0000)]
update comments

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

18 years agowrap long lines
Chris Lattner [Thu, 28 Sep 2006 23:32:43 +0000 (23:32 +0000)]
wrap long lines

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

18 years agosimplify code
Chris Lattner [Thu, 28 Sep 2006 23:24:48 +0000 (23:24 +0000)]
simplify code

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

18 years agoSimplify some code, reformat break's
Chris Lattner [Thu, 28 Sep 2006 23:19:29 +0000 (23:19 +0000)]
Simplify some code, reformat break's

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

18 years agosimplify code
Chris Lattner [Thu, 28 Sep 2006 23:17:41 +0000 (23:17 +0000)]
simplify code

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

18 years agoSimplify some code
Chris Lattner [Thu, 28 Sep 2006 23:14:29 +0000 (23:14 +0000)]
Simplify some code

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

18 years agoAnother attempt at making ArgPromotion smarter. This patch no longer breaks Burg.
Owen Anderson [Thu, 28 Sep 2006 23:02:22 +0000 (23:02 +0000)]
Another attempt at making ArgPromotion smarter.  This patch no longer breaks Burg.

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

18 years agosimplify code
Chris Lattner [Thu, 28 Sep 2006 22:58:25 +0000 (22:58 +0000)]
simplify code

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

18 years agosimplify code
Chris Lattner [Thu, 28 Sep 2006 22:50:29 +0000 (22:50 +0000)]
simplify code

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

18 years agoUse the -emit-llvm switch to generate LLVM assembly that can be parsed
Reid Spencer [Thu, 28 Sep 2006 21:36:21 +0000 (21:36 +0000)]
Use the -emit-llvm switch to generate LLVM assembly that can be parsed
by the test case.

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

18 years agoAdd a test case for PR902.
Reid Spencer [Thu, 28 Sep 2006 21:20:05 +0000 (21:20 +0000)]
Add a test case for PR902.

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

18 years agoShift amounts are always 32-bits, even in 64-bit mode. This fixes
Chris Lattner [Thu, 28 Sep 2006 20:48:45 +0000 (20:48 +0000)]
Shift amounts are always 32-bits, even in 64-bit mode.  This fixes
CodeGen/PowerPC/2006-09-28-shift_64.ll

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

18 years agonew testcase
Chris Lattner [Thu, 28 Sep 2006 20:48:17 +0000 (20:48 +0000)]
new testcase

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

18 years agoFix PR902:
Reid Spencer [Thu, 28 Sep 2006 19:28:24 +0000 (19:28 +0000)]
Fix PR902:
Errors are generated with the YYERROR macro which can only be called from
a production (inside yyparse) because of the goto statement in the macro.
This lead to several situations where GEN_ERROR was not called but
GenerateError was used instead (because it doesn't use YYERROR). However,
in such situations, catching the error much later (e.g. at the end of
the production) is not sufficient because LLVM can assert on invalid data
before the end of the production is reached. The solution is to ensure that
the CHECK_FOR_ERROR macro (which invokes YYERROR if there's an error) is
used as soon as possible after a call to GenerateError has been made.

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

18 years agoTestcase for PR924
Chris Lattner [Thu, 28 Sep 2006 18:58:02 +0000 (18:58 +0000)]
Testcase for PR924

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

18 years agoTargetRegisterClass specifies the desired spill alignment. However, it cannot be...
Evan Cheng [Thu, 28 Sep 2006 18:52:32 +0000 (18:52 +0000)]
TargetRegisterClass specifies the desired spill alignment. However, it cannot be honored if stack alignment is smaller.

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

18 years agoFix search file for -release.
Jim Laskey [Thu, 28 Sep 2006 18:45:11 +0000 (18:45 +0000)]
Fix search file for -release.

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

18 years agoAdd support for -release-asserts.
Jim Laskey [Thu, 28 Sep 2006 17:49:20 +0000 (17:49 +0000)]
Add support for -release-asserts.

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

18 years agoProvide a gdb usage fix provided by Zhongzing Xu.
Reid Spencer [Thu, 28 Sep 2006 16:53:47 +0000 (16:53 +0000)]
Provide a gdb usage fix provided by Zhongzing Xu.

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

18 years ago"Once more into the breach, dear friends, once more, or fill the wall up
Bill Wendling [Thu, 28 Sep 2006 07:10:24 +0000 (07:10 +0000)]
"Once more into the breach, dear friends, once more, or fill the wall up
with our English dead."

No! Really! Serious this time...It was how the vreg uses were being
adjusted that was causing hte Olden tests to fail. I corrected this and
the Olden and Regression tests all passed.

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

18 years agorefactor critical edge breaking out into the SplitCritEdgesForPHIConstants method.
Chris Lattner [Thu, 28 Sep 2006 06:17:10 +0000 (06:17 +0000)]
refactor critical edge breaking out into the SplitCritEdgesForPHIConstants method.
This is a baby step towards fixing PR925.

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

18 years agoadd a note about a general improvement to the code generator
Chris Lattner [Thu, 28 Sep 2006 06:01:17 +0000 (06:01 +0000)]
add a note about a general improvement to the code generator

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

18 years agoremove reference to dead method
Chris Lattner [Thu, 28 Sep 2006 00:38:19 +0000 (00:38 +0000)]
remove reference to dead method

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

18 years agoremove dead method
Chris Lattner [Thu, 28 Sep 2006 00:37:43 +0000 (00:37 +0000)]
remove dead method

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

18 years agoUse the new ManagedStatic class to explicitly manage static variables, eliminating...
Chris Lattner [Thu, 28 Sep 2006 00:35:06 +0000 (00:35 +0000)]
Use the new ManagedStatic class to explicitly manage static variables, eliminating static ctors/dtors

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

18 years agonew helper class to provide more explicit management of static ctor/dtors.
Chris Lattner [Thu, 28 Sep 2006 00:31:55 +0000 (00:31 +0000)]
new helper class to provide more explicit management of static ctor/dtors.

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

18 years agore-re-revert this, back to the right revision. It currently breaks bisort/mst
Chris Lattner [Thu, 28 Sep 2006 00:11:54 +0000 (00:11 +0000)]
re-re-revert this, back to the right revision.  It currently breaks bisort/mst
in olden among others.

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

18 years agoPEI now place callee save spills closest to the address pointed to by the
Evan Cheng [Thu, 28 Sep 2006 00:10:27 +0000 (00:10 +0000)]
PEI now place callee save spills closest to the address pointed to by the
incoming stack. This allows X86 backend to use push / pop in epilogue /
prologue.

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

18 years ago- Added a hook processFunctionBeforeCalleeSaveScn(). This is called by PEI just
Evan Cheng [Thu, 28 Sep 2006 00:07:19 +0000 (00:07 +0000)]
- Added a hook processFunctionBeforeCalleeSaveScn(). This is called by PEI just
before it determines which callee-save registers are to be spilled. This allows
the target to make changes such as forcing certain physical registers to be
spilled.
- Modified comments. It's important to note the order of registers in the array
returns by getCalleeSaveRegs() determines the order of callee save spill code.

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

18 years agore-revert this patch, bisort and mst are still broken in Olden.
Chris Lattner [Thu, 28 Sep 2006 00:04:21 +0000 (00:04 +0000)]
re-revert this patch, bisort and mst are still broken in Olden.

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

18 years agoReapplying this patch. With the newest commits, the error in Olden/bisort
Bill Wendling [Wed, 27 Sep 2006 22:37:35 +0000 (22:37 +0000)]
Reapplying this patch. With the newest commits, the error in Olden/bisort
has disappeared.

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

18 years agosilence warnings in release build
Chris Lattner [Wed, 27 Sep 2006 18:29:38 +0000 (18:29 +0000)]
silence warnings in release build

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

18 years agoFix DFS walk.
Devang Patel [Wed, 27 Sep 2006 17:18:05 +0000 (17:18 +0000)]
Fix DFS walk.
Fix http://llvm.org/bugs/show_bug.cgi?id=923

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

18 years agoTemporarily revert this. This breaks Olden/bisort on PPC
Chris Lattner [Wed, 27 Sep 2006 16:59:16 +0000 (16:59 +0000)]
Temporarily revert this.  This breaks Olden/bisort on PPC

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

18 years agoMake sure C++ protection shows up in debug info
Jim Laskey [Wed, 27 Sep 2006 16:55:19 +0000 (16:55 +0000)]
Make sure C++ protection shows up in debug info

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

18 years agoThis:
Chris Lattner [Wed, 27 Sep 2006 16:44:09 +0000 (16:44 +0000)]
This:
AggregateString += "\0\0";

Doesn't add two nuls to the AggregateString (for obvious reasons), which
broke the asmprinter when the first character of an asm string was not
literal text.

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

18 years agoPR878: Instead of calculating the vreg to PHI use count everytime we get
Bill Wendling [Wed, 27 Sep 2006 09:04:15 +0000 (09:04 +0000)]
PR878: Instead of calculating the vreg to PHI use count everytime we get
a function, do it up front in linear time (going through all of the
instructions once). We create a map out of them. Then it's no problem to
use the information in it during elimination...

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

18 years agoset DEBUG_TYPE right
Chris Lattner [Wed, 27 Sep 2006 04:58:23 +0000 (04:58 +0000)]
set DEBUG_TYPE right

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

18 years agoAdd http://llvm.org/bugs/show_bug.cgi?id=923 test case.
Devang Patel [Wed, 27 Sep 2006 02:58:44 +0000 (02:58 +0000)]
Add llvm.org/bugs/show_bug.cgi?id=923 test case.

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

18 years agoUse abstract private/comment directives, to increase portability to ppc/linux
Chris Lattner [Wed, 27 Sep 2006 02:55:21 +0000 (02:55 +0000)]
Use abstract private/comment directives, to increase portability to ppc/linux

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

18 years agoAdd support for ${:private} which prints "L" on darwin.
Chris Lattner [Wed, 27 Sep 2006 00:06:07 +0000 (00:06 +0000)]
Add support for ${:private} which prints "L" on darwin.

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

18 years agoAdd support for ${:comment}, which expands to the current target's comment
Chris Lattner [Tue, 26 Sep 2006 23:59:50 +0000 (23:59 +0000)]
Add support for ${:comment}, which expands to the current target's comment
character, and ${:uid} which expands to a unique ID for the MachineInstr.
More can be added if/when they are needed.

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

18 years agoActually, name the method PrintSpecial to match other stuff in AsmPrinter.h
Chris Lattner [Tue, 26 Sep 2006 23:47:10 +0000 (23:47 +0000)]
Actually, name the method PrintSpecial to match other stuff in AsmPrinter.h

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

18 years agoAdd support for ${:foo} syntax, where "foo" is passed into "printSpecial" and
Chris Lattner [Tue, 26 Sep 2006 23:45:08 +0000 (23:45 +0000)]
Add support for ${:foo} syntax, where "foo" is passed into "printSpecial" and
has no associated operand.  This is useful for portably encoding stuff like
the comment character into an asm string.

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

18 years agoRename function. It's determining which callee-save registers to save.
Evan Cheng [Tue, 26 Sep 2006 22:29:31 +0000 (22:29 +0000)]
Rename function. It's determining which callee-save registers to save.

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

18 years agoComments on JumpTableness
Andrew Lenharth [Tue, 26 Sep 2006 20:02:30 +0000 (20:02 +0000)]
Comments on JumpTableness

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

18 years agoLoad chain check is not needed
Jim Laskey [Tue, 26 Sep 2006 17:44:58 +0000 (17:44 +0000)]
Load chain check is not needed

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

18 years agoChain can be any operand
Jim Laskey [Tue, 26 Sep 2006 09:32:41 +0000 (09:32 +0000)]
Chain can be any operand

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

18 years agoWrong size for load
Jim Laskey [Tue, 26 Sep 2006 08:14:06 +0000 (08:14 +0000)]
Wrong size for load

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

18 years agoCan't move a load node if it's chain is not used.
Jim Laskey [Tue, 26 Sep 2006 07:37:42 +0000 (07:37 +0000)]
Can't move a load node if it's chain is not used.

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

18 years agoVarious random and minor code cleanups.
Chris Lattner [Tue, 26 Sep 2006 03:57:53 +0000 (03:57 +0000)]
Various random and minor code cleanups.

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

18 years agotest that the no_dead_strip directive is emitted on darwin-x86
Chris Lattner [Tue, 26 Sep 2006 03:44:20 +0000 (03:44 +0000)]
test that the no_dead_strip directive is emitted on darwin-x86

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

18 years agoprint the preds of each MBB
Chris Lattner [Tue, 26 Sep 2006 03:41:59 +0000 (03:41 +0000)]
print the preds of each MBB

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

18 years agoCompile:
Chris Lattner [Tue, 26 Sep 2006 03:39:53 +0000 (03:39 +0000)]
Compile:
int x __attribute__((used));

to:

        .data
.comm _x,4              ; 'x'
        .no_dead_strip  _x

on both x86 and ppc darwin targets.

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

18 years agoAdd support for targets that want to do something with the llvm.used list,
Chris Lattner [Tue, 26 Sep 2006 03:38:18 +0000 (03:38 +0000)]
Add support for targets that want to do something with the llvm.used list,
because they have an aggressive linker that does dead code stripping.

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

18 years agoorder this properly to avoid warnings in TargetAsmInfo.cpp. Add a comment
Chris Lattner [Mon, 25 Sep 2006 22:38:36 +0000 (22:38 +0000)]
order this properly to avoid warnings in TargetAsmInfo.cpp.  Add a comment
in a format that matches every other ivars in this class.

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

18 years agoAccidental enable of bad code
Jim Laskey [Mon, 25 Sep 2006 21:11:32 +0000 (21:11 +0000)]
Accidental enable of bad code

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

18 years agoFix chain dropping in load and drop unused stores in ret blocks.
Jim Laskey [Mon, 25 Sep 2006 19:32:58 +0000 (19:32 +0000)]
Fix chain dropping in load and drop unused stores in ret blocks.

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

18 years agoRegression test for PR#922.
John Criswell [Mon, 25 Sep 2006 19:12:01 +0000 (19:12 +0000)]
Regression test for PR#922.

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

18 years agomore notes
Chris Lattner [Mon, 25 Sep 2006 17:12:14 +0000 (17:12 +0000)]
more notes

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

18 years agoCore antialiasing for load and store.
Jim Laskey [Mon, 25 Sep 2006 16:29:54 +0000 (16:29 +0000)]
Core antialiasing for load and store.

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

18 years agoFix
Andrew Lenharth [Mon, 25 Sep 2006 14:04:53 +0000 (14:04 +0000)]
Fix

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

18 years agoFix jump tables to match gcc (and the ABI and whatnot)
Andrew Lenharth [Sun, 24 Sep 2006 19:46:56 +0000 (19:46 +0000)]
Fix jump tables to match gcc (and the ABI and whatnot)

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

18 years agoAdd support for other relocation bases to jump tables, as well as custom asm directives
Andrew Lenharth [Sun, 24 Sep 2006 19:45:58 +0000 (19:45 +0000)]
Add support for other relocation bases to jump tables, as well as custom asm directives

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

18 years agobasic jump table test
Andrew Lenharth [Sun, 24 Sep 2006 19:42:02 +0000 (19:42 +0000)]
basic jump table test

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

18 years agojump table note
Andrew Lenharth [Sun, 24 Sep 2006 13:13:10 +0000 (13:13 +0000)]
jump table note

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

18 years agoPIC jump table entries are always 32-bit. This fixes PIC jump table support on X86-64.
Evan Cheng [Sun, 24 Sep 2006 05:22:38 +0000 (05:22 +0000)]
PIC jump table entries are always 32-bit. This fixes PIC jump table support on X86-64.

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

18 years agoEnable 'predsimplify' optimization.
Nick Lewycky [Sun, 24 Sep 2006 00:08:16 +0000 (00:08 +0000)]
Enable 'predsimplify' optimization.

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

18 years agoStyle changes only. Remove dead code, fix a comment.
Nick Lewycky [Sat, 23 Sep 2006 15:13:08 +0000 (15:13 +0000)]
Style changes only. Remove dead code, fix a comment.

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

18 years agoBe far more careful when splitting a loop header, either to form a preheader
Chris Lattner [Sat, 23 Sep 2006 08:19:21 +0000 (08:19 +0000)]
Be far more careful when splitting a loop header, either to form a preheader
or when splitting loops with a common header into multiple loops.  In particular
the old code would always insert the preheader before the old loop header.  This
is disasterous in cases where the loop hasn't been rotated.  For example, it can
produce code like:

        .. outside the loop...
        jmp LBB1_2      #bb13.outer
LBB1_1: #bb1
        movsd 8(%esp,%esi,8), %xmm1
        mulsd (%edi), %xmm1
        addsd %xmm0, %xmm1
        addl $24, %edi
        incl %esi
        jmp LBB1_3      #bb13
LBB1_2: #bb13.outer
        leal (%edx,%eax,8), %edi
        pxor %xmm1, %xmm1
        xorl %esi, %esi
LBB1_3: #bb13
        movapd %xmm1, %xmm0
        cmpl $4, %esi
        jl LBB1_1       #bb1

Note that the loop body is actually LBB1_1 + LBB1_3, which means that the
loop now contains an uncond branch WITHIN it to jump around the inserted
loop header (LBB1_2).  Doh.

This patch changes the preheader insertion code to insert it in the right
spot, producing this code:

        ... outside the loop, fall into the header ...
LBB1_1: #bb13.outer
        leal (%edx,%eax,8), %esi
        pxor %xmm0, %xmm0
        xorl %edi, %edi
        jmp LBB1_3      #bb13
LBB1_2: #bb1
        movsd 8(%esp,%edi,8), %xmm0
        mulsd (%esi), %xmm0
        addsd %xmm1, %xmm0
        addl $24, %esi
        incl %edi
LBB1_3: #bb13
        movapd %xmm0, %xmm1
        cmpl $4, %edi
        jl LBB1_2       #bb1

Totally crazy, no branch in the loop! :)

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

18 years agoTeach UpdateDomInfoForRevectoredPreds to handle revectored preds that are not
Chris Lattner [Sat, 23 Sep 2006 07:40:52 +0000 (07:40 +0000)]
Teach UpdateDomInfoForRevectoredPreds to handle revectored preds that are not
reachable, making it general purpose enough for use by InsertPreheaderForLoop.
Eliminate custom dominfo updating code in InsertPreheaderForLoop, using
UpdateDomInfoForRevectoredPreds instead.

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

18 years agoremove misleading comment
Chris Lattner [Sat, 23 Sep 2006 06:09:45 +0000 (06:09 +0000)]
remove misleading comment

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

18 years agoadd method, correct comment
Chris Lattner [Sat, 23 Sep 2006 04:03:45 +0000 (04:03 +0000)]
add method, correct comment

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

18 years agoDelete dead code; fix 80 col violations.
Evan Cheng [Fri, 22 Sep 2006 21:43:59 +0000 (21:43 +0000)]
Delete dead code; fix 80 col violations.

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

18 years agoadd a note
Rafael Espindola [Fri, 22 Sep 2006 11:36:17 +0000 (11:36 +0000)]
add a note

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

18 years agoUse "%llvmgxx" instead of "llvm-g++".
Bill Wendling [Fri, 22 Sep 2006 07:09:01 +0000 (07:09 +0000)]
Use "%llvmgxx" instead of "llvm-g++".

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

18 years agoTestcase for better rotate left and mask support
Nate Begeman [Fri, 22 Sep 2006 05:49:57 +0000 (05:49 +0000)]
Testcase for better rotate left and mask support

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

18 years agoRegression testcase for PR855.
Bill Wendling [Fri, 22 Sep 2006 05:34:25 +0000 (05:34 +0000)]
Regression testcase for PR855.

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

18 years agoFold AND and ROTL more often
Nate Begeman [Fri, 22 Sep 2006 05:01:56 +0000 (05:01 +0000)]
Fold AND and ROTL more often

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

18 years agoremove extra white spaces.
Devang Patel [Fri, 22 Sep 2006 01:07:57 +0000 (01:07 +0000)]
remove extra white spaces.

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

18 years agoUse iterative algorith to assign DFS number. This reduces
Devang Patel [Fri, 22 Sep 2006 01:05:33 +0000 (01:05 +0000)]
Use iterative algorith to assign DFS number. This reduces
call stack depth.

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

18 years agodon't allow 'imm' or specific imms, like '1' on the LHS of a binop.
Chris Lattner [Thu, 21 Sep 2006 20:46:13 +0000 (20:46 +0000)]
don't allow 'imm' or specific imms, like '1' on the LHS of a binop.
This shrinks X86GenDAGISel by ~330 lines.

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

18 years agoMake it work for DAG combine of multi-value nodes.
Evan Cheng [Thu, 21 Sep 2006 19:04:05 +0000 (19:04 +0000)]
Make it work for DAG combine of multi-value nodes.

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

18 years agoFit to 80 columns.
Chris Lattner [Thu, 21 Sep 2006 18:28:27 +0000 (18:28 +0000)]
Fit to 80 columns.

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

18 years agocore corrections
Jim Laskey [Thu, 21 Sep 2006 17:35:47 +0000 (17:35 +0000)]
core corrections

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

18 years agoUse abstract class to facilitate dlopen() interface.
Devang Patel [Thu, 21 Sep 2006 17:22:55 +0000 (17:22 +0000)]
Use abstract class to facilitate dlopen() interface.

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

18 years agoBasic "in frame" alias analysis.
Jim Laskey [Thu, 21 Sep 2006 16:28:59 +0000 (16:28 +0000)]
Basic "in frame" alias analysis.

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

18 years agomore condition codes
Rafael Espindola [Thu, 21 Sep 2006 13:06:26 +0000 (13:06 +0000)]
more condition codes

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

18 years agoif a constant can't be an immediate, add it to the constant pool
Rafael Espindola [Thu, 21 Sep 2006 11:29:52 +0000 (11:29 +0000)]
if a constant can't be an immediate, add it to the constant pool

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

18 years agofold (aext (and (trunc x), cst)) -> (and x, cst).
Chris Lattner [Thu, 21 Sep 2006 06:40:43 +0000 (06:40 +0000)]
fold (aext (and (trunc x), cst)) -> (and x, cst).

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