Daniel Dunbar [Fri, 24 Jul 2009 23:23:46 +0000 (23:23 +0000)]
Fix compile with 4.4 (I hope?); PR4617.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77015
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Fri, 24 Jul 2009 23:19:28 +0000 (23:19 +0000)]
Forward-declare raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77014
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 24 Jul 2009 23:12:02 +0000 (23:12 +0000)]
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 24 Jul 2009 23:04:51 +0000 (23:04 +0000)]
CodingStandards: Emphasize use of raw_ostream more.
- Chris, please approve.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77010
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 24 Jul 2009 23:01:30 +0000 (23:01 +0000)]
AliasAnalysis wants sizes in address-units, not bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77009
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 22:42:45 +0000 (22:42 +0000)]
Forgot this test earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77007
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 22:42:22 +0000 (22:42 +0000)]
Fix these tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77006
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 24 Jul 2009 21:56:17 +0000 (21:56 +0000)]
Fix assert assembling zero-argument constant GEP.
There's still a strict-aliasing violation here, but I don't feel like
dealing with that right now...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77005
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 20:47:38 +0000 (20:47 +0000)]
Uh. It would be useful to actually print the operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jul 2009 20:27:11 +0000 (20:27 +0000)]
fix some predicates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jul 2009 20:14:10 +0000 (20:14 +0000)]
change SectionKindForGlobal from being a public (and
previously virtual) function to being a static function
in the .cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76997
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 19:31:03 +0000 (19:31 +0000)]
Disable my constant island pass optimization (to make use soimm more effectively). It caused infinite looping on lencod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76995
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 24 Jul 2009 19:24:26 +0000 (19:24 +0000)]
Move insertps tests to sse41 combo test file, convert to filecheck
format and add an extract/insert test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jul 2009 19:15:47 +0000 (19:15 +0000)]
make SectionKindForGlobal target independent, and therefore non-virtual.
It's classifications now include elf-specific discriminators. Targets
that don't have these features (like darwin and pecoff) simply treat
data.rel like data, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76993
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 18:54:23 +0000 (18:54 +0000)]
Add a workaround for Darwin assembler bug where it's not setting the thumb bit in Thumb2 jumptable entries. We now pass Olden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76991
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jul 2009 18:42:53 +0000 (18:42 +0000)]
we already know the sectionkind when invoking SelectSectionForGlobal,
pass it in instead of recomputing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Jul 2009 18:34:27 +0000 (18:34 +0000)]
make SectionForGlobal non-virtual, add a hook for pic16 to do its "address=" hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76989
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 24 Jul 2009 18:31:07 +0000 (18:31 +0000)]
Fix this condition I accidentally inverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76988
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 24 Jul 2009 18:22:59 +0000 (18:22 +0000)]
Add support for promoting SETCC operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76987
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 18:20:44 +0000 (18:20 +0000)]
Make sure thumb2 jumptable entries are aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76986
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 18:20:16 +0000 (18:20 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76984
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Jul 2009 18:19:46 +0000 (18:19 +0000)]
Replace use of std::set with SmallPtrSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76983
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 24 Jul 2009 18:13:53 +0000 (18:13 +0000)]
Convert several more passes to use getAnalysisIfAvailable<TargetData>()
instead of getAnalysis<TargetData>().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76982
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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