Chris Lattner [Mon, 30 Jan 2006 04:08:18 +0000 (04:08 +0000)]
Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,
making isMaskedValueZeroForTargetNode simpler, and useable from other parts
of the compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25802
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Mon, 30 Jan 2006 04:07:08 +0000 (04:07 +0000)]
Add _CRT_SECURE_NO_DEPRECATE preprocessor symbol to make VS2005 happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jan 2006 03:51:45 +0000 (03:51 +0000)]
Implement isMaskedValueZeroForTargetNode for the various v8 selectcc nodes,
allowing redundant and's to be eliminated by the dag combiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jan 2006 03:49:37 +0000 (03:49 +0000)]
pass the address of MaskedValueIsZero into isMaskedValueZeroForTargetNode,
to permit recursion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25799
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jan 2006 03:49:07 +0000 (03:49 +0000)]
adjust prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25798
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jan 2006 03:48:36 +0000 (03:48 +0000)]
Pass the address of the main MaskedValueIsZero function to allow recursion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25797
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 30 Jan 2006 02:03:56 +0000 (02:03 +0000)]
fix make install/uninstall of libcrtend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25796
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 29 Jan 2006 22:02:52 +0000 (22:02 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25795
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 21:02:23 +0000 (21:02 +0000)]
Fix RET of promoted values on targets that custom expand RET to a target node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25794
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 20:49:17 +0000 (20:49 +0000)]
Functions that are lazily streamed in from the .bc file are *not* external.
This fixes llvm-test/SingleSource/UnitTests/2006-01-29-SimpleIndirectCall.c
and PR704
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25793
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 20:01:35 +0000 (20:01 +0000)]
simplify some code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25791
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sun, 29 Jan 2006 09:52:11 +0000 (09:52 +0000)]
Remove extra qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 09:46:06 +0000 (09:46 +0000)]
add another note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25789
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 09:42:20 +0000 (09:42 +0000)]
add some performance notes from looking at sgefa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 09:14:47 +0000 (09:14 +0000)]
add a high-priority SSE issue from sgefa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 09:08:15 +0000 (09:08 +0000)]
add a missed optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25786
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 08:42:06 +0000 (08:42 +0000)]
cleanups to the ValueTypeActions interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25785
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 08:41:37 +0000 (08:41 +0000)]
Now that OpActions is big enough, we can specify actions for vector types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25784
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 08:41:12 +0000 (08:41 +0000)]
clean up interface to ValueTypeActions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 08:40:37 +0000 (08:40 +0000)]
Clean up the interface to ValueTypeActions, allowing Legalize to use a copy
of it more cleanly. Double the size of OpActions, allowing it to hold actions
for any VT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25782
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 07:59:37 +0000 (07:59 +0000)]
revert an accidental commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25781
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 07:58:15 +0000 (07:58 +0000)]
Remove some special case hacks for CALLSEQ_*, using UpdateNodeOperands
instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25780
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 07:57:11 +0000 (07:57 +0000)]
remove some methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25779
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 07:31:33 +0000 (07:31 +0000)]
disable this for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25778
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 29 Jan 2006 06:48:25 +0000 (06:48 +0000)]
Add a note about lowering llvm.memset, llvm.memcpy, and llvm.memmove to a
few stores under certain conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:45:31 +0000 (06:45 +0000)]
remove now-dead code, the legalizer takes care of this for us
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25776
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:44:22 +0000 (06:44 +0000)]
The FP stack doesn't support UNDEF, ask the legalizer to legalize it
instead of lying and saying we have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25775
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:34:16 +0000 (06:34 +0000)]
Allow custom expansion of ConstantVec nodes. PPC will use this in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:32:58 +0000 (06:32 +0000)]
Request expansion of ConstantVec nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25773
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:26:56 +0000 (06:26 +0000)]
Legalize ConstantFP into TargetConstantFP when the target allows. Implement
custom expansion of ConstantFP nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:26:08 +0000 (06:26 +0000)]
Targets all now request ConstantFP to be legalized into TargetConstantFP.
'fpimm' in .td files is now TargetConstantFP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:25:22 +0000 (06:25 +0000)]
Update alpha to reflect recent constantfp legalize changes. It's not clear
why all this code isn't autogenerated. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25770
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:24:40 +0000 (06:24 +0000)]
Make ConstantFP legalize into TargetConstantFP like other leaf nodes do. Allow
targets to register custom legalizers for ConstantFP in case there isn't a
fixed list of constants that can be generated. On some architectures (ia64?)
all fp immediates are legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:01:13 +0000 (06:01 +0000)]
remove the getBR2Way_CC method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25768
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 06:00:45 +0000 (06:00 +0000)]
eliminate uses of SelectionDAG::getBR2Way_CC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25767
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 29 Jan 2006 05:22:37 +0000 (05:22 +0000)]
it is nice not to chop off bits for those blessed with lots of bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25766
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 29 Jan 2006 05:17:22 +0000 (05:17 +0000)]
make the casts actually cast to the variable type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25765
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 29 Jan 2006 05:07:04 +0000 (05:07 +0000)]
start of the 64bit safety cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25764
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 04:41:05 +0000 (04:41 +0000)]
Emit series of conditionals with &&, emitting stuff like this:
if (N1.getOpcode() == ISD::LOAD &&
N1.hasOneUse() &&
!CodeGenMap.count(N1.getValue(0)) &&
!CodeGenMap.count(N1.getValue(1))) {
instead of this:
if (N1.getOpcode() == ISD::LOAD) {
if (N1.hasOneUse()) {
if (!CodeGenMap.count(N1.getValue(0))) {
if (!CodeGenMap.count(N1.getValue(1))) {
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25763
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 04:25:26 +0000 (04:25 +0000)]
Factor matching code that is common between patterns. This works around
GCC not jump-threading across this common code, and produces far nicer
output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25762
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 03:47:30 +0000 (03:47 +0000)]
cmovle != cmovlt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25761
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 29 Jan 2006 03:45:35 +0000 (03:45 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25760
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 02:57:39 +0000 (02:57 +0000)]
Split out code generation from analysis from emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25759
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 29 Jan 2006 02:43:35 +0000 (02:43 +0000)]
move some code around, no change in the generated code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25758
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 20:43:52 +0000 (20:43 +0000)]
now that we have control over emission of the code, emit the code using nested
"if" statements (indenting it appropriately, of course) instead of using goto's.
This inverts the logic for all of the if statements, which makes things simpler
to understand in addition to making the generated code easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25757
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 20:31:24 +0000 (20:31 +0000)]
Change PatternCodeEmitter to emit code into a buffer instead of emitting it
directly to the output file. This makes things simple because the code doesn't
have to worry about indentation or the case when there is no goto. It also
allows us to indent the code better without touching everything :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25756
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 28 Jan 2006 20:30:18 +0000 (20:30 +0000)]
Flesh out AMD family/models.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25755
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 28 Jan 2006 19:48:34 +0000 (19:48 +0000)]
Correctly determine CPU vendor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25754
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 28 Jan 2006 19:44:48 +0000 (19:44 +0000)]
Make long warnings wrap and have less indent so other portions of the page
are not skewed out of view.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25753
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 19:06:51 +0000 (19:06 +0000)]
Fit to 80 columns, no functionality change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25752
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 28 Jan 2006 18:47:32 +0000 (18:47 +0000)]
Use union instead of reinterpret_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25751
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 28 Jan 2006 18:38:20 +0000 (18:38 +0000)]
Fix recognition of Intel CPUs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25750
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 18:23:48 +0000 (18:23 +0000)]
Is64Bit reflects the capability of the chip, not an aspect of the target os
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 18:19:37 +0000 (18:19 +0000)]
Fix a bunch of JIT failures with the new isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25748
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 28 Jan 2006 18:09:06 +0000 (18:09 +0000)]
Improve X86 subtarget support for Windows and AMD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 10:58:55 +0000 (10:58 +0000)]
Use the new "UpdateNodeOperands" method to simplify LegalizeDAG and make it
faster. This cuts about 120 lines of code out of the legalizer (mostly code
checking to see if operands have changed).
It also fixes an ugly performance issue, where the legalizer cloned the entire
graph after any change. Now the "UpdateNodeOperands" method gives it a chance
to reuse nodes if the operands of a node change but not its opcode or valuetypes.
This speeds up instruction selection time on kimwitu++ by about 8.2% with a
release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25746
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 10:34:47 +0000 (10:34 +0000)]
silence a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25745
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 10:09:25 +0000 (10:09 +0000)]
add another method variant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25744
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 10:08:58 +0000 (10:08 +0000)]
add another variant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25743
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 09:32:45 +0000 (09:32 +0000)]
add some methods for updating nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 09:32:01 +0000 (09:32 +0000)]
Add some methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 08:31:04 +0000 (08:31 +0000)]
minor tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 08:25:58 +0000 (08:25 +0000)]
move a bunch of code, no other change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 08:22:56 +0000 (08:22 +0000)]
remove a couple more now-extraneous legalizeop's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 07:42:08 +0000 (07:42 +0000)]
fix a bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 07:39:30 +0000 (07:39 +0000)]
Several major changes:
1. Pull out the expand cases for BSWAP and CT* into a separate function,
reducing the size of LegalizeOp.
2. Fix a bug where expand(bswap i64) was wrong when i64 is legal.
3. Changed LegalizeOp/PromoteOp so that the legalizer never needs to be
iterative. It now operates in a single pass over the nodes.
4. Simplify a LOT of code, with a net reduction of ~280 lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25736
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 07:33:03 +0000 (07:33 +0000)]
Fix a bug in my elimination of ISD::CALL this morning. PPC now has to
provide the expansion for i64 calls itself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 06:05:41 +0000 (06:05 +0000)]
make this work on non-native hosts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25734
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 05:40:47 +0000 (05:40 +0000)]
add a note about how we should implement this FIXME from the legalizer:
// FIXME: revisit this when we have some kind of mechanism by which targets
// can decided legality of vector constants, of which there may be very
// many.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 05:07:51 +0000 (05:07 +0000)]
Eliminate the need for ExpandOp to set 'needsanotheriteration', as it already
relegalizes the stuff it returns.
Add the ability to custom expand ADD/SUB, so that targets don't need to deal
with ADD_PARTS/SUB_PARTS if they don't want.
Fix some obscure potential bugs and simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 04:28:26 +0000 (04:28 +0000)]
Instead of making callers of ExpandLibCall legalize the result, make
ExpandLibCall do it itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 04:23:12 +0000 (04:23 +0000)]
Eliminate the need to do another iteration of the legalizer after inserting
a libcall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:43:33 +0000 (03:43 +0000)]
remove this method I just added, now is not the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:43:09 +0000 (03:43 +0000)]
remove method I just added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:37:03 +0000 (03:37 +0000)]
add a new callback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25727
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 03:14:31 +0000 (03:14 +0000)]
Implement Promote for VAARG, and allow it to be custom promoted for people
who don't want the default behavior (Alpha).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25726
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 01:22:10 +0000 (01:22 +0000)]
Add a couple more things to the readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25724
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 01:06:30 +0000 (01:06 +0000)]
Add a missing case to the dag combiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:18:58 +0000 (00:18 +0000)]
Remove the ISD::CALL and ISD::TAILCALL nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:18:27 +0000 (00:18 +0000)]
The 'target-independent' ISD::CALL isn't. Nuke it, making way for Nate's
future work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:02:51 +0000 (00:02 +0000)]
Remove some dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:39:00 +0000 (23:39 +0000)]
Switch to AlphaISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:34:02 +0000 (23:34 +0000)]
Use PPCISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:30:03 +0000 (23:30 +0000)]
Use V8ISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25716
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:54:32 +0000 (22:54 +0000)]
A bit of wisdom from Chris on the last entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25715
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:53:29 +0000 (22:53 +0000)]
AT&T assembly convention: registers are in lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25714
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:51:51 +0000 (22:51 +0000)]
Use Intel assembly syntax to look for ST
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:38:36 +0000 (22:38 +0000)]
initialize member vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:37:09 +0000 (22:37 +0000)]
initialize all instance vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:25:06 +0000 (22:25 +0000)]
Make llvm.frame/returnaddr not crash on ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25710
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 27 Jan 2006 22:22:28 +0000 (22:22 +0000)]
Teach tablegen to generate code that is VC++ warning-free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25709
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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