oota-llvm.git
18 years ago(store (op (load ...)), ...)
Evan Cheng [Fri, 27 Jan 2006 22:13:45 +0000 (22:13 +0000)]
(store (op (load ...)), ...)
If store's chain operand is load, then use load's chain operand instead. If
it isn't (likely a TokenFactor), then do not allow the folding.

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

18 years ago* Eliminate FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:13:12 +0000 (22:13 +0000)]
* Eliminate FAKE_SOURCES
* Make runtimes and projects build with the new front-end by not relying on
  'llvm-gcc -c' to build a .bc file.  Instead, use llvm-gcc -S -emit-llvm,
  then an explicit invocation of gccas.  Also, don't use llvm-gcc to link
  .bc files together, use gccld directly.

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

18 years agoAdded notes about a x86 isel deficiency.
Evan Cheng [Fri, 27 Jan 2006 22:11:01 +0000 (22:11 +0000)]
Added notes about a x86 isel deficiency.

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

18 years agoRemove out of date comment
Chris Lattner [Fri, 27 Jan 2006 22:06:50 +0000 (22:06 +0000)]
Remove out of date comment

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

18 years agoRemove the only use of FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:06:23 +0000 (22:06 +0000)]
Remove the only use of FAKE_SOURCES

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

18 years agoRemove FAKE_SOURCES
Chris Lattner [Fri, 27 Jan 2006 22:06:01 +0000 (22:06 +0000)]
Remove FAKE_SOURCES

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

18 years agoAdded a temporary option -enable-x86-sse to enable sse support. It is used by
Evan Cheng [Fri, 27 Jan 2006 21:49:34 +0000 (21:49 +0000)]
Added a temporary option -enable-x86-sse to enable sse support. It is used by
llc-beta.

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

18 years agoBye bye Pattern ISel, hello DAG ISel.
Evan Cheng [Fri, 27 Jan 2006 21:26:54 +0000 (21:26 +0000)]
Bye bye Pattern ISel, hello DAG ISel.

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

18 years agoX86 dag isel is now (soon) the default.
Evan Cheng [Fri, 27 Jan 2006 21:15:22 +0000 (21:15 +0000)]
X86 dag isel is now (soon) the default.

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

18 years agoThese are fp stack test cases.
Evan Cheng [Fri, 27 Jan 2006 21:14:23 +0000 (21:14 +0000)]
These are fp stack test cases.

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

18 years agoXFAIL tailcall test cases until it's implemented.
Evan Cheng [Fri, 27 Jan 2006 21:13:27 +0000 (21:13 +0000)]
XFAIL tailcall test cases until it's implemented.

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

18 years agoRemove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for
Nate Begeman [Fri, 27 Jan 2006 21:09:22 +0000 (21:09 +0000)]
Remove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for
the same functionality.  This addresses another piece of bug 680.  Next,
on to fixing Alpha VAARG, which I broke last time.

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

18 years agoUsing bit size of integers instead of ambiguous "long" et all.
Jim Laskey [Fri, 27 Jan 2006 20:31:25 +0000 (20:31 +0000)]
Using bit size of integers instead of ambiguous "long" et all.

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

18 years agoA better workaround
Evan Cheng [Fri, 27 Jan 2006 19:30:30 +0000 (19:30 +0000)]
A better workaround

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

18 years agoSorry - really folowing convention.
Jim Laskey [Fri, 27 Jan 2006 18:32:41 +0000 (18:32 +0000)]
Sorry - really folowing convention.

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

18 years agoforce sse/3dnow off until they work. This fixes all the x86 failures last night
Chris Lattner [Fri, 27 Jan 2006 18:30:50 +0000 (18:30 +0000)]
force sse/3dnow off until they work.  This fixes all the x86 failures last night

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

18 years agoFollowing convention.
Jim Laskey [Fri, 27 Jan 2006 18:28:31 +0000 (18:28 +0000)]
Following convention.

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

18 years agoUnbreak the JIT with SSE
Chris Lattner [Fri, 27 Jan 2006 18:27:18 +0000 (18:27 +0000)]
Unbreak the JIT with SSE

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

18 years agofix build
Andrew Lenharth [Fri, 27 Jan 2006 18:16:17 +0000 (18:16 +0000)]
fix build

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

18 years agoFix build error that is apparently only a warning with some compilers.
Chris Lattner [Fri, 27 Jan 2006 17:31:30 +0000 (17:31 +0000)]
Fix build error that is apparently only a warning with some compilers.

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

18 years agoForgot the version number.
Jim Laskey [Fri, 27 Jan 2006 15:46:54 +0000 (15:46 +0000)]
Forgot the version number.

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

18 years agoImprove visibility/correctness of operand indices in "llvm.db" objects.
Jim Laskey [Fri, 27 Jan 2006 15:20:54 +0000 (15:20 +0000)]
Improve visibility/correctness of operand indices in "llvm.db" objects.
Handle 64 in DIEs.

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

18 years agoCatch up on some of the file addition/deletions.
Jim Laskey [Fri, 27 Jan 2006 13:24:20 +0000 (13:24 +0000)]
Catch up on some of the file addition/deletions.

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

18 years agoFix auto-upgrade of intrinsics to work properly with both assembly and
Reid Spencer [Fri, 27 Jan 2006 11:49:27 +0000 (11:49 +0000)]
Fix auto-upgrade of intrinsics to work properly with both assembly and
bytecode reading. This code is crufty, the result of much hacking to get things
working correctly. Cleanup patches will follow.

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

18 years agoA test case for ensuring that conversion of old-format intrinsics with
Reid Spencer [Fri, 27 Jan 2006 11:28:48 +0000 (11:28 +0000)]
A test case for ensuring that conversion of old-format intrinsics with
signed arguments get auto-upgraded correctly.

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

18 years agoThis now passes.
Reid Spencer [Fri, 27 Jan 2006 11:27:37 +0000 (11:27 +0000)]
This now passes.

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

18 years agox86 CPU detection and proper subtarget support
Evan Cheng [Fri, 27 Jan 2006 08:10:46 +0000 (08:10 +0000)]
x86 CPU detection and proper subtarget support

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

18 years agoSubtarget feature can now set any variable to any value
Evan Cheng [Fri, 27 Jan 2006 08:09:42 +0000 (08:09 +0000)]
Subtarget feature can now set any variable to any value

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

18 years agoUse printInlineAsm to, well, print inline asm's.
Chris Lattner [Fri, 27 Jan 2006 02:10:50 +0000 (02:10 +0000)]
Use printInlineAsm to, well, print inline asm's.

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

18 years agoStub out a method
Chris Lattner [Fri, 27 Jan 2006 02:10:10 +0000 (02:10 +0000)]
Stub out a method

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

18 years agoadd a method
Chris Lattner [Fri, 27 Jan 2006 02:09:16 +0000 (02:09 +0000)]
add a method

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

18 years agoPHI and INLINEASM are now built-in instructions provided by Target.td
Chris Lattner [Fri, 27 Jan 2006 01:46:15 +0000 (01:46 +0000)]
PHI and INLINEASM are now built-in instructions provided by Target.td

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

18 years agoPHI and INLINEASM are now builtin instructions provided by Target.td
Chris Lattner [Fri, 27 Jan 2006 01:45:06 +0000 (01:45 +0000)]
PHI and INLINEASM are now builtin instructions provided by Target.td

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

18 years agoIf we want to emit things in enum order, use getInstructionsByEnumValue to
Chris Lattner [Fri, 27 Jan 2006 01:44:09 +0000 (01:44 +0000)]
If we want to emit things in enum order, use getInstructionsByEnumValue to
get the order, don't compute it ourselves.

Don't emit stuff like (14<<0), emit 14 instead.

Don't attempt to get target properties for builtin instructions.

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

18 years agoThere is at least a 'noitinerary' itinerary now
Chris Lattner [Fri, 27 Jan 2006 01:41:55 +0000 (01:41 +0000)]
There is at least a 'noitinerary' itinerary now

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

18 years agoAdd a default NoItinerary class for targets to use.
Chris Lattner [Fri, 27 Jan 2006 01:41:38 +0000 (01:41 +0000)]
Add a default NoItinerary class for targets to use.

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

18 years agoDon't emit JIT code for these instructions
Chris Lattner [Fri, 27 Jan 2006 01:39:38 +0000 (01:39 +0000)]
Don't emit JIT code for these instructions

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

18 years agoTeach the scheduler to emit the appropriate INLINEASM MachineInstr for an
Chris Lattner [Thu, 26 Jan 2006 23:28:04 +0000 (23:28 +0000)]
Teach the scheduler to emit the appropriate INLINEASM MachineInstr for an
ISD::INLINEASM node.

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

18 years agoAdd a common INLINEASM opcode
Chris Lattner [Thu, 26 Jan 2006 23:27:02 +0000 (23:27 +0000)]
Add a common INLINEASM opcode

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

18 years agoTeach the dag selectors to select InlineAsm nodes.
Chris Lattner [Thu, 26 Jan 2006 23:08:55 +0000 (23:08 +0000)]
Teach the dag selectors to select InlineAsm nodes.
Aren't we happy the pattern selectors are almost all gone?

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

18 years agoDropped DwarfWriter::
Jim Laskey [Thu, 26 Jan 2006 22:25:04 +0000 (22:25 +0000)]
Dropped DwarfWriter::

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

18 years agoinitial selectiondag support for new INLINEASM node. Note that inline asms
Chris Lattner [Thu, 26 Jan 2006 22:24:51 +0000 (22:24 +0000)]
initial selectiondag support for new INLINEASM node.  Note that inline asms
with outputs or inputs are not supported yet. :)

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

18 years agoAdd new INLINEASM node
Chris Lattner [Thu, 26 Jan 2006 22:23:45 +0000 (22:23 +0000)]
Add new INLINEASM node

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

18 years agoUse global information to fill out Dwarf compile units.
Jim Laskey [Thu, 26 Jan 2006 21:22:49 +0000 (21:22 +0000)]
Use global information to fill out Dwarf compile units.

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

18 years agoImprove compatibility with VC2005, patch by Morten Ofstad!
Jeff Cohen [Thu, 26 Jan 2006 20:41:32 +0000 (20:41 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!

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

18 years agoImplement a method for inline asm support
Chris Lattner [Thu, 26 Jan 2006 20:37:03 +0000 (20:37 +0000)]
Implement a method for inline asm support

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

18 years agoadd some methods for case-insensitive string compares
Chris Lattner [Thu, 26 Jan 2006 20:36:29 +0000 (20:36 +0000)]
add some methods for case-insensitive string compares

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

18 years agoUpdate files lists.
Jim Laskey [Thu, 26 Jan 2006 20:32:00 +0000 (20:32 +0000)]
Update files lists.

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

18 years agoUse find instead of lower_bounds.
Jim Laskey [Thu, 26 Jan 2006 20:30:51 +0000 (20:30 +0000)]
Use find instead of lower_bounds.

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

18 years agoAdd a method for inline asm support.
Chris Lattner [Thu, 26 Jan 2006 20:27:33 +0000 (20:27 +0000)]
Add a method for inline asm support.

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

18 years agoSet up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Jim Laskey [Thu, 26 Jan 2006 20:21:46 +0000 (20:21 +0000)]
Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Global Variable information is now pulled from "llvm.dbg.globals"

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

18 years agoAdd support to find existing entries.
Jim Laskey [Thu, 26 Jan 2006 20:09:35 +0000 (20:09 +0000)]
Add support to find existing entries.

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

18 years agoImprove compatibility with VC2005, patch by Morten Ofstad!
Chris Lattner [Thu, 26 Jan 2006 19:55:20 +0000 (19:55 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!

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

18 years agodynamically allocate plugin space as needed
Andrew Lenharth [Thu, 26 Jan 2006 19:38:58 +0000 (19:38 +0000)]
dynamically allocate plugin space as needed

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

18 years agoAnother folding problem: if a node r/w chain or flag, don't fold it if it
Evan Cheng [Thu, 26 Jan 2006 19:13:45 +0000 (19:13 +0000)]
Another folding problem: if a node r/w chain or flag, don't fold it if it
has already been selected. The number of use check is not strong enough since
a node can be replaced with newly created target node. e.g. If the original
node has two uses, when it is selected for one of the uses it is replaced with
another. Each node now has a single use but isel still should not fold it.

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

18 years agoPass plugins on to children when optimizing.
Andrew Lenharth [Thu, 26 Jan 2006 18:37:21 +0000 (18:37 +0000)]
Pass plugins on to children when optimizing.

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

18 years agoRemember plugins should someone like bugpoint want to know them.
Andrew Lenharth [Thu, 26 Jan 2006 18:36:50 +0000 (18:36 +0000)]
Remember plugins should someone like bugpoint want to know them.

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

18 years agoadded a couple test cases, including the new vaarg breakage
Andrew Lenharth [Thu, 26 Jan 2006 17:43:42 +0000 (17:43 +0000)]
added a couple test cases, including the new vaarg breakage

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

18 years agoTeach Visual Studio about X86 subtargets.
Jeff Cohen [Thu, 26 Jan 2006 16:49:00 +0000 (16:49 +0000)]
Teach Visual Studio about X86 subtargets.

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

18 years agoSplit out Dwarf constants for use outside DwarfWriter.
Jim Laskey [Thu, 26 Jan 2006 14:45:22 +0000 (14:45 +0000)]
Split out Dwarf constants for use outside DwarfWriter.

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

18 years agoAdded preliminary x86 subtarget support.
Evan Cheng [Thu, 26 Jan 2006 09:53:06 +0000 (09:53 +0000)]
Added preliminary x86 subtarget support.

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

18 years agofix stack corruption! Previously, 16-byte whole-FP-register stores were
Duraid Madina [Thu, 26 Jan 2006 09:45:03 +0000 (09:45 +0000)]
fix stack corruption! Previously, 16-byte whole-FP-register stores were
being treated as needing only 8 bytes (though they were 16 byte aligned.)

This should fix a bunch of tests - anyone have any comments, though?

  - in Target.td , SpillSize and SpillAlignment seem dead - is this what
    Size and Alignment do now?
  - in CodeGenRegisters.h/CodeGenTarget.cpp , DeclaredSpillSize and
    DeclaredSpillAlignment seem dead.
  - there are a bunch of comments here and there that don't clearly
    distinguish between 'size' and 'spillsize' etc. hmm.

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

18 years agosome hoovering
Duraid Madina [Thu, 26 Jan 2006 09:08:31 +0000 (09:08 +0000)]
some hoovering

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

18 years agoRest of subtarget support, remove references to ppc
Chris Lattner [Thu, 26 Jan 2006 07:22:22 +0000 (07:22 +0000)]
Rest of subtarget support, remove references to ppc

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

18 years agoAdd trivial subtarget support
Chris Lattner [Thu, 26 Jan 2006 06:51:21 +0000 (06:51 +0000)]
Add trivial subtarget support

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

18 years agominor renaming
Andrew Lenharth [Thu, 26 Jan 2006 03:24:15 +0000 (03:24 +0000)]
minor renaming

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

18 years agoallow R28 to be used for frame calculations without entirely removing it from circulation
Andrew Lenharth [Thu, 26 Jan 2006 03:22:07 +0000 (03:22 +0000)]
allow R28 to be used for frame calculations without entirely removing it from circulation

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

18 years agoWork around some x86 Darwin assembler bugs
Evan Cheng [Thu, 26 Jan 2006 02:27:43 +0000 (02:27 +0000)]
Work around some x86 Darwin assembler bugs

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

18 years agoadd method for constraint parsing
Chris Lattner [Thu, 26 Jan 2006 02:21:59 +0000 (02:21 +0000)]
add method for constraint parsing

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

18 years agoadd methods for constraint parsing
Chris Lattner [Thu, 26 Jan 2006 02:21:42 +0000 (02:21 +0000)]
add methods for constraint parsing

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

18 years agoAdd a FIXME comment.
Evan Cheng [Thu, 26 Jan 2006 02:13:31 +0000 (02:13 +0000)]
Add a FIXME comment.

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

18 years agoWhen trying to fold X86::SETCC into a Select, make a copy if it has more than
Evan Cheng [Thu, 26 Jan 2006 02:13:10 +0000 (02:13 +0000)]
When trying to fold X86::SETCC into a Select, make a copy if it has more than
one use. This allows more CMOV instructions.

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

18 years agoteach the cloner to handle inline asms
Chris Lattner [Thu, 26 Jan 2006 01:55:22 +0000 (01:55 +0000)]
teach the cloner to handle inline asms

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

18 years agoAllow use of isa<InlineAsm>(X) without #including InlineAsm.h
Chris Lattner [Thu, 26 Jan 2006 01:54:21 +0000 (01:54 +0000)]
Allow use of isa<InlineAsm>(X) without #including InlineAsm.h

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

18 years agoparse and verify the constraint string.
Chris Lattner [Thu, 26 Jan 2006 00:48:33 +0000 (00:48 +0000)]
parse and verify the constraint string.

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

18 years agoClean up some code; improve efficiency; and fixed a potential bug involving
Evan Cheng [Thu, 26 Jan 2006 00:30:29 +0000 (00:30 +0000)]
Clean up some code; improve efficiency; and fixed a potential bug involving
chain successors.

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

18 years agoRemove the uses of STATUS flag register. Rely on node property SDNPInFlag,
Evan Cheng [Thu, 26 Jan 2006 00:29:36 +0000 (00:29 +0000)]
Remove the uses of STATUS flag register. Rely on node property SDNPInFlag,
SDNPOutFlag, and SDNPOptInFlag instead.

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

18 years agoDuh.
Evan Cheng [Thu, 26 Jan 2006 00:28:35 +0000 (00:28 +0000)]
Duh.

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

18 years agoIncoming (and optional) flag bugs. They may be embedded inside a inner node of
Evan Cheng [Thu, 26 Jan 2006 00:22:25 +0000 (00:22 +0000)]
Incoming (and optional) flag bugs. They may be embedded inside a inner node of
a pattern. Also, nodes which take incoming flag should not be folded if it has
more than one use.

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

18 years agoMake sure the only user of InlineAsm's are direct calls.
Chris Lattner [Thu, 26 Jan 2006 00:08:45 +0000 (00:08 +0000)]
Make sure the only user of InlineAsm's are direct calls.

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

18 years agonew tests for actual inline asm expressions
Chris Lattner [Wed, 25 Jan 2006 23:49:54 +0000 (23:49 +0000)]
new tests for actual inline asm expressions

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

18 years agodocument the syntax of inline asm
Chris Lattner [Wed, 25 Jan 2006 23:47:57 +0000 (23:47 +0000)]
document the syntax of inline asm

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

18 years agooops
Andrew Lenharth [Wed, 25 Jan 2006 23:33:32 +0000 (23:33 +0000)]
oops

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

18 years agoupdate the bytecode format guide for the encoding of inline asm.
Chris Lattner [Wed, 25 Jan 2006 23:31:53 +0000 (23:31 +0000)]
update the bytecode format guide for the encoding of inline asm.

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

18 years agoadd bc reader/writer support for inline asm
Chris Lattner [Wed, 25 Jan 2006 23:08:15 +0000 (23:08 +0000)]
add bc reader/writer support for inline asm

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

18 years agoforgot one
Andrew Lenharth [Wed, 25 Jan 2006 22:28:07 +0000 (22:28 +0000)]
forgot one

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

18 years agoregenerate
Chris Lattner [Wed, 25 Jan 2006 22:27:16 +0000 (22:27 +0000)]
regenerate

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

18 years agoParse inline asm objects
Chris Lattner [Wed, 25 Jan 2006 22:26:43 +0000 (22:26 +0000)]
Parse inline asm objects

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

18 years agoPrint InlineAsm objects
Chris Lattner [Wed, 25 Jan 2006 22:26:05 +0000 (22:26 +0000)]
Print InlineAsm objects

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

18 years agoadd another method
Chris Lattner [Wed, 25 Jan 2006 22:10:35 +0000 (22:10 +0000)]
add another method

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

18 years agomake things compile again
Andrew Lenharth [Wed, 25 Jan 2006 21:54:38 +0000 (21:54 +0000)]
make things compile again

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

18 years agoDon't break the optimized build (by incorrect placement of #endif)
Reid Spencer [Wed, 25 Jan 2006 21:49:13 +0000 (21:49 +0000)]
Don't break the optimized build (by incorrect placement of #endif)

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

18 years agoadd some useful accessors :)
Chris Lattner [Wed, 25 Jan 2006 19:58:26 +0000 (19:58 +0000)]
add some useful accessors :)

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

18 years agoChange inline asms to be uniqued like constants, not embedded in a Module.
Chris Lattner [Wed, 25 Jan 2006 18:57:27 +0000 (18:57 +0000)]
Change inline asms to be uniqued like constants, not embedded in a Module.

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

18 years agoinitialize an instance var, apparently I forgot to commit this long ago
Chris Lattner [Wed, 25 Jan 2006 18:57:15 +0000 (18:57 +0000)]
initialize an instance var, apparently I forgot to commit this long ago

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

18 years agoNo need to keep track of top and bottom nodes in a group since the vector is
Evan Cheng [Wed, 25 Jan 2006 18:54:24 +0000 (18:54 +0000)]
No need to keep track of top and bottom nodes in a group since the vector is
already in order. Thanks Jim for pointing it out.

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

18 years agoSet SchedulingForLatency to be the default scheduling preference for all.
Evan Cheng [Wed, 25 Jan 2006 18:52:42 +0000 (18:52 +0000)]
Set SchedulingForLatency to be the default scheduling preference for all.

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

18 years agoFirst part of bug 680:
Nate Begeman [Wed, 25 Jan 2006 18:21:52 +0000 (18:21 +0000)]
First part of bug 680:
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.

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

18 years agoMake it even more portable.
Jeff Cohen [Wed, 25 Jan 2006 17:18:50 +0000 (17:18 +0000)]
Make it even more portable.

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

18 years agoFix VC++ compilation error.
Jeff Cohen [Wed, 25 Jan 2006 17:17:49 +0000 (17:17 +0000)]
Fix VC++ compilation error.

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