Owen Anderson
36a07daabd
Fix an error where ANTIC_OUT was ending up with more than one expression of
...
the same value number. This fixes an infinite loop on 444.namd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37967 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-07 20:13:57 +00:00
Nick Lewycky
8f5149e002
Back out Devang's fix for PR1320 because it causes PR1542.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37966 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-07 16:23:34 +00:00
Evan Cheng
9ad6f03166
No need for ccop anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37965 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:34:09 +00:00
Evan Cheng
d2c5eb864f
Teach if-conversion about instructions that were already predicated, e.g. conditional move.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37964 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:24:39 +00:00
Evan Cheng
c419bd3396
ImmutablePredicateOperand is no more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:23:38 +00:00
Evan Cheng
4b9cb7d135
Incorrect check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37962 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:23:19 +00:00
Evan Cheng
06aae67b83
Do away with ImmutablePredicateOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37961 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:22:46 +00:00
Evan Cheng
14c4655403
isUnpredicatedTerminator should treat conditional branches as unpredicated terminator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37960 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:22:03 +00:00
Evan Cheng
49ce02e408
Do away with ImmutablePredicateOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37959 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:21:02 +00:00
Owen Anderson
78e02f78ce
A first stab at memory dependence analysis. This is an interface on top of
...
alias analysis, adding caching and lazy computation of queries. This will
be used in planned improvements to memory access optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37958 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:14:35 +00:00
Owen Anderson
c9edf0b69b
Add some accessors to improve consistency.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37957 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 23:13:31 +00:00
Gabor Greif
04367bfc20
first pass of nomenclature changes in .html files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37956 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 22:07:22 +00:00
Devang Patel
05c1dc6493
These rountines are now available as part of basic block utilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37955 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 22:03:47 +00:00
Devang Patel
7be06f9158
Request DominanceFrontiner in advance.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37954 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 21:43:22 +00:00
Devang Patel
658f625d16
Preserve various analysis info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37953 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 21:40:13 +00:00
Devang Patel
8019893c3f
Add SplitEdge and SplitBlock utility routines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37952 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 21:39:20 +00:00
Owen Anderson
ec5614b522
Be more aggressive in the heuristic. This mostly exposes more opportunities
...
for the GVN part of GVNPRE to apply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37951 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 20:29:43 +00:00
Gabor Greif
db5565a1f5
finishing touches of bytecode -> bitcode changes. also unbreak Windows
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37950 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 20:28:40 +00:00
Owen Anderson
2c194e6bd1
Achieve what the incorrect test was trying to do by simply requiring that all
...
critical edges be split before we begin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37949 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 18:12:36 +00:00
Owen Anderson
6a6152ca2d
Remove an incorrect check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37948 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 16:52:47 +00:00
Duncan Sands
f664e41b20
The exception handling intrinsics return values,
...
so must be lowered to a value, not nothing at all.
Subtle point: I made eh_selector return 0 and
eh_typeid_for return 1. This means that only
cleanups (destructors) will be run as the exception
unwinds [if eh_typeid_for returned 0 then it would
be as if the first catch always matched, and the
corresponding handler would be run], which is
probably want you want in the CBE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37947 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 14:46:23 +00:00
Dan Gohman
d8ebb3a0c2
Remove redundant declarations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37946 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:59:28 +00:00
Gabor Greif
e75ca3d809
eliminate residual cruft related to recognizing bytecode
...
files.
bitcode files are the only LLVM format left.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:38:17 +00:00
Dan Gohman
664e9546d6
Fix a comment so that the element numbering match the actual element
...
operand numbering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37944 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:27:33 +00:00
Dan Gohman
89a3066356
Add an explicit triple to the big-endian tests so that the assembly
...
output format is always consistent with what the greps are looking for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37943 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:15:51 +00:00
Duncan Sands
fccf0a2b25
Indexes into the list of filter ids cannot be output
...
directly: they need to be turned into byte offsets
(often the same, but may not be if there are many
type infos).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37942 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 12:46:24 +00:00
Duncan Sands
d14526cf33
Test that byte offsets are used to index into the list
...
of filter ids, and not simply the id index. Testing
this requires at least 128 type infos!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37941 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 12:38:27 +00:00
Rafael Espindola
1aa7efbd2c
Add the byval attribute
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37940 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 10:57:03 +00:00
Gabor Greif
aa6b7fd5ec
Solaris 2.x does not have RLIMIT_RSS, check for this symbol (analog NetBSD below), should subsume Cygwin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37939 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 10:31:27 +00:00
Duncan Sands
902919541f
Remove propagateEHRegister in favour of a more limited
...
fix, that is adequate while PR1508 remains unresolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37938 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 09:18:59 +00:00
Duncan Sands
b4fd45e2fc
Remove ExtractGlobalVariable - use StripPointerCasts
...
instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37937 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 09:10:03 +00:00
Zhou Sheng
33b0b8d242
Correct a typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37936 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 06:01:16 +00:00
Evan Cheng
86da6600ae
Workaround of getCopyToRegs and getCopyFromRegs bugs for big-endian machines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:47:35 +00:00
Evan Cheng
991262834d
Change CalculateHeights and CalculateDepths to be non-recursive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37934 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:37:28 +00:00
Evan Cheng
a955939ca2
Refactor code to add initial support for OptionalDefOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:05:26 +00:00
Evan Cheng
dfb2ebac29
Print the s bit if the instruction is toggled to its CPSR setting form.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37932 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:01:34 +00:00
Evan Cheng
04c813d00c
PredicateDefOperand -> OptionalDefOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37931 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:00:49 +00:00
Evan Cheng
e496d78f16
Add OptionalDefOperand to stand for optionally defined result.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37930 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 01:00:16 +00:00
Owen Anderson
2a5c9d8aac
Fix a bunch of issues found in a testcase from 400.perlbench.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37929 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 23:11:26 +00:00
Evan Cheng
9ad892ceec
Fix test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37928 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 23:00:50 +00:00
Chris Lattner
02f7906b2f
avoid ambiguity in target selection
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37927 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 22:16:19 +00:00
Evan Cheng
148b6a419f
Initial ARM JIT support by Raul Fernandes Herbster.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37926 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 21:15:40 +00:00
Dan Gohman
27e9d457d4
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37925 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:40:15 +00:00
Dan Gohman
d27df628cc
Make MachineFunctionPass::runOnFunction non-virtual. Subclasses override
...
the virtual function runOnMachineFunction instead. And add access specifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:39:35 +00:00
Anton Korobeynikov
4304bcc1ed
Proper flag __alloca call
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37923 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:36:08 +00:00
Dan Gohman
50b153335d
Make the debug string for ISD::MERGE_VALUES consistent with the others.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:15:43 +00:00
Dan Gohman
6183f78cf8
Add a parameter to getCopyToParts and getCopyFromParts to specify whether
...
endian swapping should be done, and update the code to use it. This fixes
some register ordering issues on big-endian systems, such as PowerPC,
introduced by the recent illegal by-val arguments changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37921 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 20:12:34 +00:00
Chris Lattner
1bfb8b7333
This enum is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37920 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:28:01 +00:00
Chris Lattner
f87bd845da
update the .cvs files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37919 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:27:31 +00:00
Chris Lattner
ce5f24e0ed
update the .cvs files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:26:49 +00:00