oota-llvm.git
15 years agoAdd specific classes for Add, Sub, and Mul, for convenience.
Dan Gohman [Fri, 24 Jul 2009 18:12:25 +0000 (18:12 +0000)]
Add specific classes for Add, Sub, and Mul, for convenience.

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

15 years agostart refactoring pic16 section selection logic.
Chris Lattner [Fri, 24 Jul 2009 17:13:27 +0000 (17:13 +0000)]
start refactoring pic16 section selection logic.

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

15 years agomove ELF-specific code into ELFTargetAsmInfo.
Chris Lattner [Fri, 24 Jul 2009 17:02:17 +0000 (17:02 +0000)]
move ELF-specific code into ELFTargetAsmInfo.

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

15 years agotidy up
Chris Lattner [Fri, 24 Jul 2009 16:53:52 +0000 (16:53 +0000)]
tidy up

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

15 years agosplit the ELF-specific section flag inference-from-name code out
Chris Lattner [Fri, 24 Jul 2009 16:50:24 +0000 (16:50 +0000)]
split the ELF-specific section flag inference-from-name code out
into its own helper function.

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

15 years agomake SectionFlagsForGlobal a private static function instead of a public
Chris Lattner [Fri, 24 Jul 2009 16:46:50 +0000 (16:46 +0000)]
make SectionFlagsForGlobal a private static function instead of a public
virtual one.

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

15 years agomove a method up in the file, GV is always non-null, so remove a check.
Chris Lattner [Fri, 24 Jul 2009 16:44:01 +0000 (16:44 +0000)]
move a method up in the file, GV is always non-null, so remove a check.

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

15 years agoThere is no need to pass the name into lib/Target/TargetAsmInfo.cpp
Chris Lattner [Fri, 24 Jul 2009 16:40:45 +0000 (16:40 +0000)]
There is no need to pass the name into  lib/Target/TargetAsmInfo.cpp
when we have a global with no section explicitly specified.

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

15 years agoremove a use of SectionFlagsForGlobal.
Chris Lattner [Fri, 24 Jul 2009 16:40:09 +0000 (16:40 +0000)]
remove a use of SectionFlagsForGlobal.

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

15 years agoAnother getName -> getNameStr
Daniel Dunbar [Fri, 24 Jul 2009 12:21:08 +0000 (12:21 +0000)]
Another getName -> getNameStr

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

15 years agoMore move to raw_ostream.
Daniel Dunbar [Fri, 24 Jul 2009 10:47:20 +0000 (10:47 +0000)]
More move to raw_ostream.

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

15 years agoMove more to raw_ostream, provide support for writing MachineBasicBlock,
Daniel Dunbar [Fri, 24 Jul 2009 10:36:58 +0000 (10:36 +0000)]
Move more to raw_ostream, provide support for writing MachineBasicBlock,
LiveInterval, etc to raw_ostream.

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

15 years agoMove more to raw_ostream.
Daniel Dunbar [Fri, 24 Jul 2009 10:05:20 +0000 (10:05 +0000)]
Move more to raw_ostream.

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

15 years agoMove to raw_ostream.
Daniel Dunbar [Fri, 24 Jul 2009 09:53:24 +0000 (09:53 +0000)]
Move to raw_ostream.

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

15 years agoSwitch to getNameStr().
Daniel Dunbar [Fri, 24 Jul 2009 08:24:36 +0000 (08:24 +0000)]
Switch to getNameStr().

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

15 years agoAllow llvm_report_error to accept a Twine.
Daniel Dunbar [Fri, 24 Jul 2009 07:58:10 +0000 (07:58 +0000)]
Allow llvm_report_error to accept a Twine.

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

15 years agoRemove unused member functions.
Eli Friedman [Fri, 24 Jul 2009 07:43:59 +0000 (07:43 +0000)]
Remove unused member functions.

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

15 years agoFix constructor types
Daniel Dunbar [Fri, 24 Jul 2009 07:12:20 +0000 (07:12 +0000)]
Fix constructor types

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

15 years agoUpdate CMake
Daniel Dunbar [Fri, 24 Jul 2009 07:04:49 +0000 (07:04 +0000)]
Update CMake

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

15 years agoAdd Twine ADT.
Daniel Dunbar [Fri, 24 Jul 2009 07:04:27 +0000 (07:04 +0000)]
Add Twine ADT.
 - Not currently used.

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

15 years agoConvert a test to FileCheck.
Evan Cheng [Fri, 24 Jul 2009 06:01:46 +0000 (06:01 +0000)]
Convert a test to FileCheck.

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

15 years agohoist section name uniquing logic up to the top-level SectionForGlobal
Chris Lattner [Fri, 24 Jul 2009 05:10:25 +0000 (05:10 +0000)]
hoist section name uniquing logic up to the top-level SectionForGlobal
implementation, eliminating a dupe.

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

15 years agoImplement getSectionPrefixForUniqueGlobal to return null, indicating that
Chris Lattner [Fri, 24 Jul 2009 05:02:38 +0000 (05:02 +0000)]
Implement getSectionPrefixForUniqueGlobal to return null, indicating that
darwin does it's own unique and special and wonderful thing.

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

15 years agoreduce indentation
Chris Lattner [Fri, 24 Jul 2009 05:01:55 +0000 (05:01 +0000)]
reduce indentation

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

15 years agosimplify code by making special case more obvious
Chris Lattner [Fri, 24 Jul 2009 04:59:43 +0000 (04:59 +0000)]
simplify code by making special case more obvious

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

15 years agothe 'isWeakForLinker' code is common between functions and globals, hoist it
Chris Lattner [Fri, 24 Jul 2009 04:52:38 +0000 (04:52 +0000)]
the 'isWeakForLinker' code is common between functions and globals, hoist it
and simplify some other code.

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

15 years agoReplace UniqueSectionForGlobal with getSectionPrefixForUniqueGlobal.
Chris Lattner [Fri, 24 Jul 2009 04:49:34 +0000 (04:49 +0000)]
Replace UniqueSectionForGlobal with getSectionPrefixForUniqueGlobal.
The later doesn't depend on any crazy LLVM IR stuff, and this
pulls the concatenation of prefix with GV name (the root problem behind
PR4584) out one level.

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

15 years agodocument SectionFlags::Named better and make it more easily greppable by
Chris Lattner [Fri, 24 Jul 2009 04:26:19 +0000 (04:26 +0000)]
document SectionFlags::Named better and make it more easily greppable by
eliminating isNamed.

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

15 years agofix indentation.
Chris Lattner [Fri, 24 Jul 2009 04:11:40 +0000 (04:11 +0000)]
fix indentation.

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

15 years agouse section flags more correctly.
Chris Lattner [Fri, 24 Jul 2009 04:08:17 +0000 (04:08 +0000)]
use section flags more correctly.

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

15 years agoSwitch to raw_ostream.
Daniel Dunbar [Fri, 24 Jul 2009 04:01:01 +0000 (04:01 +0000)]
Switch to raw_ostream.

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

15 years agofix a mysterious and scary failure on test/CodeGen/X86/cstring.ll
Chris Lattner [Fri, 24 Jul 2009 03:55:48 +0000 (03:55 +0000)]
fix a mysterious and scary failure on test/CodeGen/X86/cstring.ll

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

15 years agoreduce api exposure: clients shouldn't call SectionKindForGlobal directly.
Chris Lattner [Fri, 24 Jul 2009 03:49:17 +0000 (03:49 +0000)]
reduce api exposure: clients shouldn't call SectionKindForGlobal directly.

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

15 years agomake Constant::getRelocationInfo return an enum, as suggested by Duncan.
Chris Lattner [Fri, 24 Jul 2009 03:27:21 +0000 (03:27 +0000)]
make Constant::getRelocationInfo return an enum, as suggested by Duncan.

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

15 years agoremove more bits of small section support.
Chris Lattner [Fri, 24 Jul 2009 03:16:53 +0000 (03:16 +0000)]
remove more bits of small section support.

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

15 years agoremove more remnants of small section support.
Chris Lattner [Fri, 24 Jul 2009 03:14:35 +0000 (03:14 +0000)]
remove more remnants of small section support.

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

15 years agoRemove SectionKind::Small*. This was only used on mips, and is apparently
Chris Lattner [Fri, 24 Jul 2009 03:11:51 +0000 (03:11 +0000)]
Remove SectionKind::Small*.  This was only used on mips, and is apparently
a sad mistake that is regretted. :)

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

15 years agoThumb2 should use the register scavenger.
Evan Cheng [Fri, 24 Jul 2009 01:05:51 +0000 (01:05 +0000)]
Thumb2 should use the register scavenger.

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

15 years agoFix whitespace.
Dan Gohman [Fri, 24 Jul 2009 01:03:59 +0000 (01:03 +0000)]
Fix whitespace.

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

15 years agoGive SCEVAddRecExpr no-signed-overflow and no-unsigned-overflow flags.
Dan Gohman [Fri, 24 Jul 2009 01:01:06 +0000 (01:01 +0000)]
Give SCEVAddRecExpr no-signed-overflow and no-unsigned-overflow flags.

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

15 years agoGive the SCEV class a SubclassData field.
Dan Gohman [Fri, 24 Jul 2009 00:59:53 +0000 (00:59 +0000)]
Give the SCEV class a SubclassData field.

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

15 years agoFix whitespace.
Dan Gohman [Fri, 24 Jul 2009 00:55:33 +0000 (00:55 +0000)]
Fix whitespace.

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

15 years agoFLDD, FLDS, FCPYD, FCPYS, FSTD, FSTS, VMOVD, VMOVQ maps to the same instructions...
Evan Cheng [Fri, 24 Jul 2009 00:53:56 +0000 (00:53 +0000)]
FLDD, FLDS, FCPYD, FCPYS, FSTD, FSTS, VMOVD, VMOVQ maps to the same instructions on all sub-targets.

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

15 years agoAdd tests for handling of globals and tls on the XCore. These currently fail
Richard Osborne [Fri, 24 Jul 2009 00:38:20 +0000 (00:38 +0000)]
Add tests for handling of globals and tls on the XCore. These currently fail
but pass when run against r76652.

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

15 years agoPrivatize the ConstantVector tables.
Owen Anderson [Fri, 24 Jul 2009 00:36:24 +0000 (00:36 +0000)]
Privatize the ConstantVector tables.

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

15 years agoUpdate insertps handling based on feedback. Move to a v4f32 style
Eric Christopher [Fri, 24 Jul 2009 00:33:09 +0000 (00:33 +0000)]
Update insertps handling based on feedback.  Move to a v4f32 style
to support vector arguments and scalar arguments correctly. Update
lowering and fix comment to refer to pinsr* instead of insertps.

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

15 years agoRemove the IA-64 backend.
Dan Gohman [Fri, 24 Jul 2009 00:30:09 +0000 (00:30 +0000)]
Remove the IA-64 backend.

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

15 years agoCorrectly handle the Thumb-2 imm8 addrmode. Specialize frame index elimination more...
David Goodwin [Fri, 24 Jul 2009 00:16:18 +0000 (00:16 +0000)]
Correctly handle the Thumb-2 imm8 addrmode. Specialize frame index elimination more exactly for Thumb-2 to get better code gen.

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

15 years agoAdded a 2+-byte NOP instruction to the Intel tables,
Sean Callanan [Thu, 23 Jul 2009 23:39:34 +0000 (23:39 +0000)]
Added a 2+-byte NOP instruction to the Intel tables,
for the assembler/disassembler to use.

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

15 years agoPrivatize the ConstantStruct table.
Owen Anderson [Thu, 23 Jul 2009 23:25:33 +0000 (23:25 +0000)]
Privatize the ConstantStruct table.

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

15 years agoWrite space padding as one string to speed up comment printing.
David Greene [Thu, 23 Jul 2009 23:21:10 +0000 (23:21 +0000)]
Write space padding as one string to speed up comment printing.

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

15 years agoThumb2 does not allow the use of "pc" register as part of the load / store address.
Evan Cheng [Thu, 23 Jul 2009 23:09:51 +0000 (23:09 +0000)]
Thumb2 does not allow the use of "pc" register as part of the load / store address.

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

15 years agoFixing unittests on 32-bit Darwin, using 0x...ULL instead of 0x...U .
Reid Kleckner [Thu, 23 Jul 2009 22:27:18 +0000 (22:27 +0000)]
Fixing unittests on 32-bit Darwin, using 0x...ULL instead of 0x...U .

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

15 years agoRe-committing r76828 with the JIT memory manager changes now that the build
Reid Kleckner [Thu, 23 Jul 2009 21:46:56 +0000 (21:46 +0000)]
Re-committing r76828 with the JIT memory manager changes now that the build
bots like the BumpPtrAllocator changes.

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

15 years ago"fix" PR4612, which is a crash on:
Chris Lattner [Thu, 23 Jul 2009 21:26:18 +0000 (21:26 +0000)]
"fix" PR4612, which is a crash on:
%0 = malloc [3758096384 x i32]

The "malloc" instruction doesn't support 64-bits correctly (see PR715),
and should be removed.  Victor is actively working on fixing this, in
the meantime just don't crash.

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

15 years agoFix PR4614: the Intel C compiler defines _GNUC__
Duncan Sands [Thu, 23 Jul 2009 19:08:27 +0000 (19:08 +0000)]
Fix PR4614: the Intel C compiler defines _GNUC__
but does not provide __builtin_bswap32/64.

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

15 years agoRevert r75581: it causes massive breakage in the Ada
Duncan Sands [Thu, 23 Jul 2009 19:00:02 +0000 (19:00 +0000)]
Revert r75581: it causes massive breakage in the Ada
testsuite, due to exception handling not working
correctly.  Maybe because the libgcc unwinder is
miscompiled - not sure, and I won't have time to
look into it before leaving on holiday.  Note that
miscompilations of libgcc are not picked up by the
nightly testers, because they dynamically link with
libgcc, so pick up the system version rather than
the version built as part of llvm-gcc.  This is a
nasty flaw in the nightly testers.  (On the other
hand the Ada testsuite links with the just built
libgcc).

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

15 years agoSwitch ValueSymbolTable to StringRef based API.
Daniel Dunbar [Thu, 23 Jul 2009 18:52:12 +0000 (18:52 +0000)]
Switch ValueSymbolTable to StringRef based API.

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

15 years agoAdd llvm::Value::getNameRef, for help in API migration.
Daniel Dunbar [Thu, 23 Jul 2009 18:50:53 +0000 (18:50 +0000)]
Add llvm::Value::getNameRef, for help in API migration.

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

15 years agoRe-committing changes from r76825 to BumpPtrAllocator with a fix and tests for
Reid Kleckner [Thu, 23 Jul 2009 18:34:13 +0000 (18:34 +0000)]
Re-committing changes from r76825 to BumpPtrAllocator with a fix and tests for
an off-by-one error.

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

15 years agoFix up ARM constant island pass for Thumb2.
Evan Cheng [Thu, 23 Jul 2009 18:27:47 +0000 (18:27 +0000)]
Fix up ARM constant island pass for Thumb2.

Also fixed up code to fully use the SoImm field for ADR on ARM mode.

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

15 years agoSince we have moved unified assembly, switch to ADR instruction instead of a the...
Evan Cheng [Thu, 23 Jul 2009 18:26:03 +0000 (18:26 +0000)]
Since we have moved unified assembly, switch to ADR instruction instead of a the difficult-to-read .set + add syntax to materialize pc-relative address.

Turns out this also fixed a poor code selection on Thumb1. I have no idea why we were using a mov + add to do the same thing as ADR before.

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

15 years agoConvert StringMap to using StringRef for its APIs.
Daniel Dunbar [Thu, 23 Jul 2009 18:17:34 +0000 (18:17 +0000)]
Convert StringMap to using StringRef for its APIs.
 - Yay for '-'s and simplifications!

 - I kept StringMap::GetOrCreateValue for compatibility purposes, this can
   eventually go away. Likewise the StringMapEntry Create functions still follow
   the old style.

 - NIFC.

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

15 years agoFix frame index elimination to correctly handle thumb-2 addressing modes that don...
David Goodwin [Thu, 23 Jul 2009 17:06:46 +0000 (17:06 +0000)]
Fix frame index elimination to correctly handle thumb-2 addressing modes that don't allow negative offsets. During frame elimination convert *i12 opcode to a *i8 when necessary due to a negative offset.

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

15 years agoFileCheck'ize and expand LDA testcases.
Andreas Bolka [Thu, 23 Jul 2009 15:56:53 +0000 (15:56 +0000)]
FileCheck'ize and expand LDA testcases.

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

15 years agoemit simple node was using different labels for fields than the rest of the graph...
Andrew Lenharth [Thu, 23 Jul 2009 15:24:38 +0000 (15:24 +0000)]
emit simple node was using different labels for fields than the rest of the graph writter

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

15 years agoCache dependence computation using FoldingSet.
Andreas Bolka [Thu, 23 Jul 2009 14:32:46 +0000 (14:32 +0000)]
Cache dependence computation using FoldingSet.

This introduces an LDA-internal DependencePair class. The intention is,
that this is a place where dependence testers can store various results
such as SCEVs describing conflicting iterations, breaking conditions,
distance/direction vectors, etc.

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

15 years ago80 col violation.
Evan Cheng [Thu, 23 Jul 2009 07:58:08 +0000 (07:58 +0000)]
80 col violation.

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

15 years agoenhance DepthFirstIterator to support more robust operations in the face
Chris Lattner [Thu, 23 Jul 2009 06:30:28 +0000 (06:30 +0000)]
enhance DepthFirstIterator to support more robust operations in the face
of code mutating the graph while it is being traversed.  Patch by
Olaf Krzikalla!

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

15 years agotestcase for PR4590
Chris Lattner [Thu, 23 Jul 2009 06:07:59 +0000 (06:07 +0000)]
testcase for PR4590

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

15 years agorefactor a blob of code out to a new 'FoldOrOfFCmps' function and
Chris Lattner [Thu, 23 Jul 2009 05:46:22 +0000 (05:46 +0000)]
refactor a blob of code out to a new 'FoldOrOfFCmps' function and
simplify it.

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

15 years agoFor real this time: PHI Def & Kill tracking added to PHIElimination.
Lang Hames [Thu, 23 Jul 2009 05:44:24 +0000 (05:44 +0000)]
For real this time: PHI Def & Kill tracking added to PHIElimination.

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

15 years agomerge vector-casts-0.ll into vector-casts.ll
Chris Lattner [Thu, 23 Jul 2009 05:33:39 +0000 (05:33 +0000)]
merge vector-casts-0.ll into vector-casts.ll

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

15 years agoMake some existing optimizations that would only trigger on scalars
Chris Lattner [Thu, 23 Jul 2009 05:32:17 +0000 (05:32 +0000)]
Make some existing optimizations that would only trigger on scalars
also apply to vectors.  This allows us to compile this:

#include <emmintrin.h>
__m128i a(__m128 a, __m128 b) { return a==a & b==b; }
__m128i b(__m128 a, __m128 b) { return a!=a | b!=b; }

to:

_a:
cmpordps %xmm1, %xmm0
ret
_b:
cmpunordps %xmm1, %xmm0
ret

with clang instead of to a ton of horrible code.

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

15 years agoconvert a test to filecheck format. This fixes an endemic problem
Chris Lattner [Thu, 23 Jul 2009 05:27:48 +0000 (05:27 +0000)]
convert a test to filecheck format.  This fixes an endemic problem
with negative tests: this test wasn't checking what it thought it was
because it was grepping .bc, not .ll.

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

15 years agorename test
Chris Lattner [Thu, 23 Jul 2009 05:25:12 +0000 (05:25 +0000)]
rename test

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

15 years agorefactor a bunch of code out into a helper function,
Chris Lattner [Thu, 23 Jul 2009 05:14:02 +0000 (05:14 +0000)]
refactor a bunch of code out into a helper function,
no functionality change.

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

15 years agoremove a really old and dead header
Chris Lattner [Thu, 23 Jul 2009 04:59:02 +0000 (04:59 +0000)]
remove a really old and dead header

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

15 years agomerge one more sse41 test into sse41.ll
Chris Lattner [Thu, 23 Jul 2009 04:49:39 +0000 (04:49 +0000)]
merge one more sse41 test into sse41.ll

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

15 years agomerge another sse41 test into sse41.ll
Chris Lattner [Thu, 23 Jul 2009 04:43:48 +0000 (04:43 +0000)]
merge another sse41 test into sse41.ll

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

15 years agomerge sse41-pmovx.ll into sse41.ll
Chris Lattner [Thu, 23 Jul 2009 04:39:09 +0000 (04:39 +0000)]
merge  sse41-pmovx.ll into sse41.ll

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

15 years agoAdded PHI Def & Kill tracking to PHIElimination pass.
Lang Hames [Thu, 23 Jul 2009 04:34:03 +0000 (04:34 +0000)]
Added PHI Def & Kill tracking to PHIElimination pass.

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

15 years agochange a test to run in filecheck style. Rename it to be a general
Chris Lattner [Thu, 23 Jul 2009 04:33:02 +0000 (04:33 +0000)]
change a test to run in filecheck style.  Rename it to be a general
dumping ground of various SSE4.1 tests, since filecheck can reasonably
handle them all in one file.  Generalize it to check x86-64 stuff as
well since it has a different ABI (a convenient way to test both the
reg and mem forms of these instructions).

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

15 years agoSupport insertps via the intrinsic and add a couple of simple
Eric Christopher [Thu, 23 Jul 2009 02:22:41 +0000 (02:22 +0000)]
Support insertps via the intrinsic and add a couple of simple
testcases to make sure it's being generated.

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

15 years agoDo not call getMangledName on Intrinsics.
Sanjiv Gupta [Thu, 23 Jul 2009 02:11:04 +0000 (02:11 +0000)]
Do not call getMangledName on Intrinsics.

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

15 years agoMDString
Devang Patel [Thu, 23 Jul 2009 02:00:51 +0000 (02:00 +0000)]
MDString
- Rename member function size(). New name is length().
- Store string beginning and length. Earlier it used to store string end.

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

15 years agoAdd test for pinsrd and pinsrb instructions.
Eric Christopher [Thu, 23 Jul 2009 01:58:04 +0000 (01:58 +0000)]
Add test for pinsrd and pinsrb instructions.

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

15 years agoMinor cosmetics: indentation, formatting, naming.
Andreas Bolka [Thu, 23 Jul 2009 01:57:06 +0000 (01:57 +0000)]
Minor cosmetics: indentation, formatting, naming.

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

15 years agoReverting r76825 and r76828, since they caused clang runtime errors and some build...
Reid Kleckner [Thu, 23 Jul 2009 01:40:54 +0000 (01:40 +0000)]
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.

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

15 years agoadd header for 'memset'.
Zhongxing Xu [Thu, 23 Jul 2009 01:38:47 +0000 (01:38 +0000)]
add header for 'memset'.

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

15 years agoSilence "uninitialized use" warning.
Devang Patel [Thu, 23 Jul 2009 01:36:16 +0000 (01:36 +0000)]
Silence "uninitialized use" warning.

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

15 years agoHide constructors.
Devang Patel [Thu, 23 Jul 2009 01:19:53 +0000 (01:19 +0000)]
Hide constructors.

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

15 years agoDerive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK...
Devang Patel [Thu, 23 Jul 2009 01:07:34 +0000 (01:07 +0000)]
Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.

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

15 years agoFix error message for correct opcode.
Eric Christopher [Thu, 23 Jul 2009 01:01:32 +0000 (01:01 +0000)]
Fix error message for correct opcode.

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

15 years agoMake the JIT code emitter properly retry and ask for more memory when it runs
Reid Kleckner [Thu, 23 Jul 2009 00:49:59 +0000 (00:49 +0000)]
Make the JIT code emitter properly retry and ask for more memory when it runs
out of memory, and also make the default memory manager allocate more memory
when it runs out.

Also, switch function stubs and global data over to using the BumpPtrAllocator.

This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB
of memory, and instead allocates in 512K slabs.  I suspect this size could go
lower, especially on embedded platforms, now that more slabs can be allocated.

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

15 years agoParameterize the BumpPtrAllocator over a slab allocator. It defaults to using
Reid Kleckner [Thu, 23 Jul 2009 00:30:41 +0000 (00:30 +0000)]
Parameterize the BumpPtrAllocator over a slab allocator.  It defaults to using
malloc, so there should be no functional changes to other code.

These changes are necessary since I have plans to use this allocator in the JIT
memory manager, and it needs a special allocator.

I also added some tests which helped me pinpoint some bugs.

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

15 years agoRevert r75663 (and r76805), as it is causing regressions on powerpc.
Dan Gohman [Thu, 23 Jul 2009 00:09:46 +0000 (00:09 +0000)]
Revert r75663 (and r76805), as it is causing regressions on powerpc.

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

15 years agoremove SectionFlags::Small: it is only used on Xcore, and we'll find
Chris Lattner [Wed, 22 Jul 2009 23:27:22 +0000 (23:27 +0000)]
remove SectionFlags::Small: it is only used on Xcore, and we'll find
a better solution for it in the future.

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

15 years agox86 isel tweak: use lea (%reg,%reg) instead of lea (,%reg,2).
Dan Gohman [Wed, 22 Jul 2009 23:26:55 +0000 (23:26 +0000)]
x86 isel tweak: use lea (%reg,%reg) instead of lea (,%reg,2).

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

15 years agoAdd new keywords to the vim syntax highlighting.
Dan Gohman [Wed, 22 Jul 2009 22:45:50 +0000 (22:45 +0000)]
Add new keywords to the vim syntax highlighting.

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