oota-llvm.git
16 years agoAdd Attributes.cpp to the vcproj.
Steve Naroff [Wed, 24 Sep 2008 17:23:28 +0000 (17:23 +0000)]
Add Attributes.cpp to the vcproj.

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

16 years agoAdd DisableGVCompilation which forces the JIT to assert when it tries to allocate...
Evan Cheng [Wed, 24 Sep 2008 16:25:55 +0000 (16:25 +0000)]
Add DisableGVCompilation which forces the JIT to assert when it tries to allocate space for a GlobalVariable.

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

16 years agoReapplying r56550
Bill Wendling [Wed, 24 Sep 2008 10:25:02 +0000 (10:25 +0000)]
Reapplying r56550

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

16 years agoForgot this part with my last patch. Sorry about the breakage.
Bill Wendling [Wed, 24 Sep 2008 10:16:24 +0000 (10:16 +0000)]
Forgot this part with my last patch. Sorry about the breakage.

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

16 years agoTemporarily revert r56550 until missing commit can be added.
Eric Christopher [Wed, 24 Sep 2008 08:30:44 +0000 (08:30 +0000)]
Temporarily revert r56550 until missing commit can be added.

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

16 years agoRefactor the constant folding code into it's own function. And call it from both
Bill Wendling [Wed, 24 Sep 2008 07:11:26 +0000 (07:11 +0000)]
Refactor the constant folding code into it's own function. And call it from both
the SelectionDAG and DAGCombiner code. The only functionality change is that now
the DAG combiner is performing the constant folding for these operations instead
of being a no-op.

This is *not* in response to a bug, so there isn't a testcase.

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

16 years agoCommit CodeGenPrepare.cpp changes which was accidentially left out of 56526.
Evan Cheng [Wed, 24 Sep 2008 06:48:55 +0000 (06:48 +0000)]
Commit CodeGenPrepare.cpp changes which was accidentially left out of 56526.

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

16 years agoFix fallout in CodeGenPrepare from 56526. Will likely need more work.
Eric Christopher [Wed, 24 Sep 2008 05:32:41 +0000 (05:32 +0000)]
Fix fallout in CodeGenPrepare from 56526. Will likely need more work.

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

16 years agoFix fallout from revision r56535.
Eric Christopher [Wed, 24 Sep 2008 04:55:49 +0000 (04:55 +0000)]
Fix fallout from revision r56535.

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

16 years agoCMake: Lists of source files updated. Removed bogus dependency from
Oscar Fuentes [Wed, 24 Sep 2008 01:58:12 +0000 (01:58 +0000)]
CMake: Lists of source files updated. Removed bogus dependency from
lib/VMCore/CMakeLists.txt

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

16 years agoCMake: Removed unnecessary messages from msvc_llvm_config macro.
Oscar Fuentes [Wed, 24 Sep 2008 01:54:03 +0000 (01:54 +0000)]
CMake: Removed unnecessary messages from msvc_llvm_config macro.

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

16 years agoNext round of earlyclobber handling. Approach the
Dale Johannesen [Wed, 24 Sep 2008 01:07:17 +0000 (01:07 +0000)]
Next round of earlyclobber handling.  Approach the
RA problem by expanding the live interval of an
earlyclobber def back one slot.  Remove
overlap-earlyclobber throughout.  Remove
earlyclobber bits and their handling from
live internals.

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

16 years agos/ParamAttrsWithIndex/FnAttributeWithIndex/g
Devang Patel [Wed, 24 Sep 2008 00:55:02 +0000 (00:55 +0000)]
s/ParamAttrsWithIndex/FnAttributeWithIndex/g

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

16 years agoTest fp not.
Evan Cheng [Wed, 24 Sep 2008 00:50:16 +0000 (00:50 +0000)]
Test fp not.

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

16 years agos/ParamAttributeListImpl/AttributeListImpl/g
Devang Patel [Wed, 24 Sep 2008 00:29:49 +0000 (00:29 +0000)]
s/ParamAttributeListImpl/AttributeListImpl/g

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

16 years agoRefactor the logic for testing if an instruction is dead into a
Dan Gohman [Wed, 24 Sep 2008 00:27:38 +0000 (00:27 +0000)]
Refactor the logic for testing if an instruction is dead into a
separate method.

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

16 years agoSet SetStore to false, to allow this pass to delete
Dan Gohman [Wed, 24 Sep 2008 00:07:08 +0000 (00:07 +0000)]
Set SetStore to false, to allow this pass to delete
dead loads.

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

16 years agoAdd a method to MachineInstr for testing whether it makes
Dan Gohman [Wed, 24 Sep 2008 00:06:15 +0000 (00:06 +0000)]
Add a method to MachineInstr for testing whether it makes
any volatile memory references.

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

16 years agoPut FN_NOTE_AlwaysInline and others in FnAttr namespace.
Devang Patel [Wed, 24 Sep 2008 00:06:15 +0000 (00:06 +0000)]
Put FN_NOTE_AlwaysInline and others in FnAttr namespace.

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

16 years agoProperly handle 'm' inline asm constraints. If a GV is being selected for the address...
Evan Cheng [Wed, 24 Sep 2008 00:05:32 +0000 (00:05 +0000)]
Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc.

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

16 years agoMove FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.
Devang Patel [Tue, 23 Sep 2008 23:52:03 +0000 (23:52 +0000)]
Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.
Do not check isDeclaration() in hasNote(). It is clients' responsibility.

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

16 years ago80 cols
Devang Patel [Tue, 23 Sep 2008 23:32:15 +0000 (23:32 +0000)]
80 cols

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

16 years agos/ParameterAttributes/Attributes/g
Devang Patel [Tue, 23 Sep 2008 23:25:44 +0000 (23:25 +0000)]
s/ParameterAttributes/Attributes/g

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

16 years agoRemove tabs.
Devang Patel [Tue, 23 Sep 2008 23:18:26 +0000 (23:18 +0000)]
Remove tabs.

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

16 years agos/ParameterAttributes/Attributes/g
Devang Patel [Tue, 23 Sep 2008 23:03:40 +0000 (23:03 +0000)]
s/ParameterAttributes/Attributes/g

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

16 years agoUse parameter attribute store (soon to be renamed) for
Devang Patel [Tue, 23 Sep 2008 22:35:17 +0000 (22:35 +0000)]
Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.

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

16 years agoNow that DeadMachineInstructionElim is basically working
Dan Gohman [Tue, 23 Sep 2008 22:04:18 +0000 (22:04 +0000)]
Now that DeadMachineInstructionElim is basically working
correctly, it's not necessary to explicitly remove registers
from their use-def lists.

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

16 years agoArrange for FastISel code to have access to the MachineModuleInfo
Dan Gohman [Tue, 23 Sep 2008 21:53:34 +0000 (21:53 +0000)]
Arrange for FastISel code to have access to the MachineModuleInfo
object. This will be needed to support debug info.

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

16 years agoTrack local physical register liveness. This is not the most
Dan Gohman [Tue, 23 Sep 2008 21:40:44 +0000 (21:40 +0000)]
Track local physical register liveness. This is not the most
efficient implementation possible, but it's pretty simple and
good enough for the time being.

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

16 years agoregenerate
Chris Lattner [Tue, 23 Sep 2008 21:18:31 +0000 (21:18 +0000)]
regenerate

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

16 years agoallow inreg on the result of a function
Chris Lattner [Tue, 23 Sep 2008 21:18:08 +0000 (21:18 +0000)]
allow inreg on the result of a function

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

16 years agoReplace the LiveRegs SmallSet with a simple counter that keeps
Dan Gohman [Tue, 23 Sep 2008 18:50:48 +0000 (18:50 +0000)]
Replace the LiveRegs SmallSet with a simple counter that keeps
track of the number of live registers, which is all the set was
being used for.

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

16 years agoFix these enums' starting values to reflect the way that
Dan Gohman [Tue, 23 Sep 2008 18:42:32 +0000 (18:42 +0000)]
Fix these enums' starting values to reflect the way that
instruction opcodes are now numbered. No functionality change.

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

16 years agoUpdate the comment to reflect the new name.
Dan Gohman [Tue, 23 Sep 2008 18:27:53 +0000 (18:27 +0000)]
Update the comment to reflect the new name.

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

16 years agoDelete an unused function.
Dan Gohman [Tue, 23 Sep 2008 18:26:47 +0000 (18:26 +0000)]
Delete an unused function.

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

16 years agoMove the code for initializing the global base reg out of
Dan Gohman [Tue, 23 Sep 2008 18:22:58 +0000 (18:22 +0000)]
Move the code for initializing the global base reg out of
X86ISelDAGToDAG.cpp and into X86InstrInfo.cpp. This will allow
it to be reused by FastISel.

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

16 years agoRationalize the names of passes that print information:
Duncan Sands [Tue, 23 Sep 2008 12:47:39 +0000 (12:47 +0000)]
Rationalize the names of passes that print information:
    -callgraph => print-callgraph
    -callscc   => print-callgraph-sccs
    -cfgscc    => print-cfg-sccs
    -externalfnconstants => print-externalfnconstants
    -print               => print-function
    -print-alias-sets (no change)
    -print-callgraph     => dot-callgraph
    -print-cfg           => dot-cfg
    -print-cfg-only      => dot-cfg-only
    -print-dom-info (no change)
    -printm              => print-module
    -printusedtypes      => print-used-types

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

16 years agoFix indendation.
Matthijs Kooijman [Tue, 23 Sep 2008 08:54:41 +0000 (08:54 +0000)]
Fix indendation.

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

16 years agoAdd initial support for inserting last minute copies.
Owen Anderson [Tue, 23 Sep 2008 04:37:10 +0000 (04:37 +0000)]
Add initial support for inserting last minute copies.

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

16 years agoSupport x86 specific inline asm modifier 'J'.
Evan Cheng [Mon, 22 Sep 2008 23:57:37 +0000 (23:57 +0000)]
Support x86 specific inline asm modifier 'J'.

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

16 years agoRemove silly semicolon.
Dale Johannesen [Mon, 22 Sep 2008 23:28:18 +0000 (23:28 +0000)]
Remove silly semicolon.

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

16 years agoFix the alignment of loads from constant pool entries when the
Dan Gohman [Mon, 22 Sep 2008 22:40:08 +0000 (22:40 +0000)]
Fix the alignment of loads from constant pool entries when the
load address has an offset from the base of the constant pool
entry.

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

16 years agoRemove a compiler warning.
Dale Johannesen [Mon, 22 Sep 2008 22:33:34 +0000 (22:33 +0000)]
Remove a compiler warning.

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

16 years agoAdd hasNote() to check note associated with a function.
Devang Patel [Mon, 22 Sep 2008 22:32:29 +0000 (22:32 +0000)]
Add hasNote() to check note associated with a function.

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

16 years agoLivestacks really does preserve everything.
Evan Cheng [Mon, 22 Sep 2008 22:26:15 +0000 (22:26 +0000)]
Livestacks really does preserve everything.

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

16 years agoInstead of setPreservesAll, just mark them preseving machine loop info and machine...
Evan Cheng [Mon, 22 Sep 2008 22:21:38 +0000 (22:21 +0000)]
Instead of setPreservesAll, just mark them preseving machine loop info and machine dominators.

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

16 years agoTest case for fp logical instructions.
Evan Cheng [Mon, 22 Sep 2008 22:19:34 +0000 (22:19 +0000)]
Test case for fp logical instructions.

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

16 years agoSignificant improvements to the logic for merging live intervals. This code can't
Owen Anderson [Mon, 22 Sep 2008 21:58:58 +0000 (21:58 +0000)]
Significant improvements to the logic for merging live intervals.  This code can't
just use LI::MergeValueAsValue, as its behavior in the presence of overlapping ranges
isn't what StrongPHIElimination wants.

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

16 years agoMake log, log2, log10, exp, exp2 use Expand by
Dale Johannesen [Mon, 22 Sep 2008 21:57:32 +0000 (21:57 +0000)]
Make log, log2, log10, exp, exp2 use Expand by
default.

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

16 years agoMark several codegen passes as preserving all analysis.
Evan Cheng [Mon, 22 Sep 2008 20:58:04 +0000 (20:58 +0000)]
Mark several codegen passes as preserving all analysis.

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

16 years agoMore refactoring. Yawn.
Dale Johannesen [Mon, 22 Sep 2008 20:51:30 +0000 (20:51 +0000)]
More refactoring.  Yawn.

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

16 years agoConvert llvmc2 plugins to use llvm/Support/Registry.h machinery.
Mikhail Glushenkov [Mon, 22 Sep 2008 20:51:19 +0000 (20:51 +0000)]
Convert llvmc2 plugins to use llvm/Support/Registry.h machinery.

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

16 years agoMove llvmc2 header files under include/llvm/CompilerDriver
Mikhail Glushenkov [Mon, 22 Sep 2008 20:50:40 +0000 (20:50 +0000)]
Move llvmc2 header files under include/llvm/CompilerDriver

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

16 years agoPlugin support for llvmc2 (a-la opt).
Mikhail Glushenkov [Mon, 22 Sep 2008 20:49:34 +0000 (20:49 +0000)]
Plugin support for llvmc2 (a-la opt).

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

16 years agoAdd a 'Debugging' section to the documentation.
Mikhail Glushenkov [Mon, 22 Sep 2008 20:48:48 +0000 (20:48 +0000)]
Add a 'Debugging' section to the documentation.

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

16 years agoMake comments a little bit more clear.
Mikhail Glushenkov [Mon, 22 Sep 2008 20:48:22 +0000 (20:48 +0000)]
Make comments a little bit more clear.

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

16 years agoGet rid of GlobalLanguageMap. Global state is evil.
Mikhail Glushenkov [Mon, 22 Sep 2008 20:47:46 +0000 (20:47 +0000)]
Get rid of GlobalLanguageMap. Global state is evil.

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

16 years agoRename our version of ccc to ccc2
Mikhail Glushenkov [Mon, 22 Sep 2008 20:47:09 +0000 (20:47 +0000)]
Rename our version of ccc to ccc2

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

16 years agoFix some comments
Mikhail Glushenkov [Mon, 22 Sep 2008 20:46:44 +0000 (20:46 +0000)]
Fix some comments

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

16 years agoAdd a (forward_as) option property
Mikhail Glushenkov [Mon, 22 Sep 2008 20:46:19 +0000 (20:46 +0000)]
Add a (forward_as) option property

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

16 years agoDelete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor language/spelling...
Mikhail Glushenkov [Mon, 22 Sep 2008 20:45:17 +0000 (20:45 +0000)]
Delete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor language/spelling fixes.

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

16 years agoRefactor FP intrinisic setup. Per review feedback.
Dale Johannesen [Mon, 22 Sep 2008 19:51:58 +0000 (19:51 +0000)]
Refactor FP intrinisic setup.  Per review feedback.

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

16 years agoCMake build system: support for parallel builds.
Oscar Fuentes [Mon, 22 Sep 2008 18:21:51 +0000 (18:21 +0000)]
CMake build system: support for parallel builds.

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

16 years agoPer review feedback: Only perform
Evan Cheng [Mon, 22 Sep 2008 18:19:24 +0000 (18:19 +0000)]
Per review feedback: Only perform
(srl x, (trunc (and y, c))) -> (srl x, (and (trunc y), c))
etc. when both "trunc" and "and" have single uses.

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

16 years agoChange the calling convention used when tail call optimization is enabled from CC_X86...
Arnold Schwaighofer [Mon, 22 Sep 2008 14:50:07 +0000 (14:50 +0000)]
Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC.

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

16 years agoAdd bound checks in SmallVector
Rafael Espindola [Mon, 22 Sep 2008 10:06:26 +0000 (10:06 +0000)]
Add bound checks in SmallVector

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

16 years agoadd_partially_linked_object: Replaced nonexistent MESSAGE option in
Oscar Fuentes [Mon, 22 Sep 2008 02:33:43 +0000 (02:33 +0000)]
add_partially_linked_object: Replaced nonexistent MESSAGE option in
add_custom_command with COMMENT. It was forcing unconditional command
execution.

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

16 years agoInitial support for the CMake build system.
Oscar Fuentes [Mon, 22 Sep 2008 01:08:49 +0000 (01:08 +0000)]
Initial support for the CMake build system.

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

16 years agoAdd helper function to get a 32-bit floating point constant. No functionality change.
Bill Wendling [Mon, 22 Sep 2008 00:44:35 +0000 (00:44 +0000)]
Add helper function to get a 32-bit floating point constant. No functionality change.

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

16 years agoexplain what earlyclobber actually is.
Chris Lattner [Sun, 21 Sep 2008 23:30:17 +0000 (23:30 +0000)]
explain what earlyclobber actually is.

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

16 years agoFold immediates into X86 shifts with fast isel. This generates:
Chris Lattner [Sun, 21 Sep 2008 21:44:29 +0000 (21:44 +0000)]
Fold immediates into X86 shifts with fast isel.  This generates:

sarl    $3, %ecx

instead of:

movl    $3, %ecx
sarl    %cl, %edx

This shrinks fast isel 176.gcc by about 2000 instructions (.3%)

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

16 years agoFactor out code into HandleVirtRegDef, for consistency with
Dan Gohman [Sun, 21 Sep 2008 21:11:41 +0000 (21:11 +0000)]
Factor out code into HandleVirtRegDef, for consistency with
Handle{Virt,Phys}Reg{Def,Use}. Remove a redundant check
for register zero, and redundant checks for isPhysicalRegister.

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

16 years agoInstead of building a list and sorting it just to find a maximum element,
Dan Gohman [Sun, 21 Sep 2008 21:01:49 +0000 (21:01 +0000)]
Instead of building a list and sorting it just to find a maximum element,
compute the maximum element directly.

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

16 years agoFetch the starting index of the block when assigning intervals. This gets live-in...
Owen Anderson [Sun, 21 Sep 2008 20:43:24 +0000 (20:43 +0000)]
Fetch the starting index of the block when assigning intervals.  This gets live-in indices
correct in the presence of things like EH labels.

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

16 years agodon't print GlobalAddressSDNode's with an offset of zero as "foo0".
Chris Lattner [Sun, 21 Sep 2008 18:38:31 +0000 (18:38 +0000)]
don't print GlobalAddressSDNode's with an offset of zero as "foo0".

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

16 years agoadd a note
Chris Lattner [Sat, 20 Sep 2008 19:17:53 +0000 (19:17 +0000)]
add a note

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

16 years agoUpdate VS projects.
Cedric Venet [Sat, 20 Sep 2008 18:02:18 +0000 (18:02 +0000)]
Update VS projects.
Change some class to struct for coherency.

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

16 years agoShorten and rearrange data fields to save a word of memory.
Dale Johannesen [Sat, 20 Sep 2008 17:45:21 +0000 (17:45 +0000)]
Shorten and rearrange data fields to save a word of memory.
Per review feedback.

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

16 years agoImplement review feedback from Devang: make use
Duncan Sands [Sat, 20 Sep 2008 16:45:58 +0000 (16:45 +0000)]
Implement review feedback from Devang: make use
of mayReadFromMemory and mayWriteToMemory.

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

16 years agoTeach coalescer about earlyclobber bits.
Dale Johannesen [Sat, 20 Sep 2008 02:03:04 +0000 (02:03 +0000)]
Teach coalescer about earlyclobber bits.
Check bits for preferred register.

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

16 years agoFix PR2808. When regalloc runs out of register, it spill a physical register around...
Evan Cheng [Sat, 20 Sep 2008 01:28:05 +0000 (01:28 +0000)]
Fix PR2808. When regalloc runs out of register, it spill a physical register around the live interval being allocated. Do not continue to try to spill another register, just grab the physical register and move on.

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

16 years agoClean up the test.
Evan Cheng [Sat, 20 Sep 2008 01:26:27 +0000 (01:26 +0000)]
Clean up the test.

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

16 years agoNo need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.
Evan Cheng [Sat, 20 Sep 2008 00:13:45 +0000 (00:13 +0000)]
No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.

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

16 years ago80 column violation.
Evan Cheng [Sat, 20 Sep 2008 00:13:08 +0000 (00:13 +0000)]
80 column violation.

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

16 years agoFix a FastISel GlobalVariable CSE bug.
Dan Gohman [Fri, 19 Sep 2008 23:42:04 +0000 (23:42 +0000)]
Fix a FastISel GlobalVariable CSE bug.

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

16 years agoContinue after removing the current MI.
Evan Cheng [Fri, 19 Sep 2008 22:49:39 +0000 (22:49 +0000)]
Continue after removing the current MI.

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

16 years agoRefactor X86SelectConstAddr, folding it into X86SelectAddress. This
Dan Gohman [Fri, 19 Sep 2008 22:16:54 +0000 (22:16 +0000)]
Refactor X86SelectConstAddr, folding it into X86SelectAddress. This
results in better code for globals. Also, unbreak the local CSE for
GlobalValue stub loads.

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

16 years agoMake earlyclobber stuff work when virtual regs
Dale Johannesen [Fri, 19 Sep 2008 18:52:31 +0000 (18:52 +0000)]
Make earlyclobber stuff work when virtual regs
have previously been assigned conflicting physreg.

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

16 years agoPrevent warning about conversion from 64-bit to 32-bit by (yuck) casting...
Bill Wendling [Fri, 19 Sep 2008 18:34:40 +0000 (18:34 +0000)]
Prevent warning about conversion from 64-bit to 32-bit by (yuck) casting...

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

16 years agoNow that ConstantSDNode doesn't hold an APInt,
Dan Gohman [Fri, 19 Sep 2008 18:09:19 +0000 (18:09 +0000)]
Now that ConstantSDNode doesn't hold an APInt,
use ARG_FLAGSSDNode as the most aligned node type,
as it contains an int64_t, which is 8-byte
aligned on mingw.

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

16 years agoAdded static methods to APSInt: getMinValue and getMaxValue.
Ted Kremenek [Fri, 19 Sep 2008 18:01:14 +0000 (18:01 +0000)]
Added static methods to APSInt: getMinValue and getMaxValue.

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

16 years agoRe-materalized definition instructions may be dead. Whack them.
Evan Cheng [Fri, 19 Sep 2008 17:38:47 +0000 (17:38 +0000)]
Re-materalized definition instructions may be dead. Whack them.

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

16 years agobacking out my last commit, it was not intended to go on the trunk
Gabor Greif [Fri, 19 Sep 2008 15:13:20 +0000 (15:13 +0000)]
backing out my last commit, it was not intended to go on the trunk

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

16 years agofirst shot at removing Use::Val
Gabor Greif [Fri, 19 Sep 2008 15:03:57 +0000 (15:03 +0000)]
first shot at removing Use::Val
untested, Use::swap() is definitely not done yet

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

16 years agoTurn on the AddReadAttrs pass.
Duncan Sands [Fri, 19 Sep 2008 14:34:36 +0000 (14:34 +0000)]
Turn on the AddReadAttrs pass.

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

16 years agoAdd test for improvement of readonly to readnone,
Duncan Sands [Fri, 19 Sep 2008 09:20:05 +0000 (09:20 +0000)]
Add test for improvement of readonly to readnone,
and non-demotion of readnone to readonly.

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

16 years agoTurn on these tests!
Duncan Sands [Fri, 19 Sep 2008 09:16:32 +0000 (09:16 +0000)]
Turn on these tests!

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

16 years agoRemove the MarkModRef pass (use AddReadAttrs instead).
Duncan Sands [Fri, 19 Sep 2008 08:23:44 +0000 (08:23 +0000)]
Remove the MarkModRef pass (use AddReadAttrs instead).
Unfortunately this means removing one regression test
of GlobalsModRef because I couldn't work out how to
perform it without MarkModRef.

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

16 years agoAdd a new pass AddReadAttrs which works out which functions
Duncan Sands [Fri, 19 Sep 2008 08:17:05 +0000 (08:17 +0000)]
Add a new pass AddReadAttrs which works out which functions
can get the readnone/readonly attributes, and gives them it.
The plan is to remove markmodref (which did the same thing
by querying GlobalsModRef) and delete the analogous
functionality from GlobalsModRef.

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

16 years agoTest the callgraph directly for the missing edge.
Duncan Sands [Fri, 19 Sep 2008 08:01:57 +0000 (08:01 +0000)]
Test the callgraph directly for the missing edge.

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