Commit Graph

33272 Commits

Author SHA1 Message Date
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
Evan Cheng
c48072fed5 Doh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:21:33 +00:00
Chris Lattner
3a08abfd34 remove a dead case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:18:32 +00:00
Evan Cheng
1f6d77b54a Unbreak the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37915 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:13:56 +00:00
Evan Cheng
d54874a06d Unbreak the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37914 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:13:19 +00:00
Gabor Greif
a99be51bf5 Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Dale Johannesen
f8ad955221 Record my recent work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37912 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 16:56:24 +00:00
Chris Lattner
461d79c2ee the arm backend is not building, temporarily disable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37911 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 16:11:52 +00:00
Devang Patel
56fb164540 Fix PR1539. Add LoopPassPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 15:32:03 +00:00
Duncan Sands
14da32a486 Make sure only one copy of a filter is placed in the
exception handling table if we encounter it multiple
times.  Filters could be folded harder than this, but
that would mean a lot more work for not much gain.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37908 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 15:15:01 +00:00
Duncan Sands
586eccb8cb Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37907 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 10:32:33 +00:00
Reid Spencer
ef89a88955 Add a note about llvm2cpp's dubious future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37906 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 10:12:19 +00:00
Reid Spencer
cf4c42cde2 Get the version number right, finally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 10:00:19 +00:00
Evan Cheng
7774be4a74 Teach DAGISelEmitter about zero_reg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:19:45 +00:00
Evan Cheng
8012b077dd Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:19:29 +00:00
Evan Cheng
0e1d37904a Reflects the chanegs made to PredicateOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37898 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:18:20 +00:00
Evan Cheng
16b6598325 Added ARM::CPSR to represent ARM CPSR status register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:17:13 +00:00
Evan Cheng
ee568cf794 Unfortunately we now require C++ code to isel Bcc, conditional moves, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37896 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:15:27 +00:00
Evan Cheng
c85e832eb7 Each ARM use predicate operand is now made up of two components. The new component is the CPSR register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37895 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:13:32 +00:00
Evan Cheng
3b5b8368f3 Added ARM::CPSR to represent ARM CPSR status register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:11:03 +00:00
Evan Cheng
7e36966de4 PPC conditional branch predicate does not change after isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 07:09:50 +00:00