Douglas Gregor [Mon, 27 Jul 2009 17:55:55 +0000 (17:55 +0000)]
CMake: make sure that the *.inc files for libSystem show up in the resulting
project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 17:39:40 +0000 (17:39 +0000)]
add an explanatory comment about why we drop these in readonly and
not in mergable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77210
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 27 Jul 2009 17:17:04 +0000 (17:17 +0000)]
Do not seed mstadata into the value map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:45:59 +0000 (16:45 +0000)]
make COFF work like ELF and macho, by splitting out into its own
header even though there is only one COFF target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:44:04 +0000 (16:44 +0000)]
don't create default text/data sections for all targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:42:14 +0000 (16:42 +0000)]
Apparently alpha doesn't use ElfTargetAsmInfo (?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77202
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 27 Jul 2009 16:39:05 +0000 (16:39 +0000)]
Thumb-2 does not have RSC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77201
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 27 Jul 2009 16:31:55 +0000 (16:31 +0000)]
Add ".w" suffix for wide thumb-2 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:27:32 +0000 (16:27 +0000)]
inline a method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:22:39 +0000 (16:22 +0000)]
apparently we have "windows" and "coff", which are different(?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 16:20:58 +0000 (16:20 +0000)]
sink text/data section creation down into the target-specific places that
should know about them. PECoff doesn't share these, and I want all sections
to be created by object-file-specific code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77196
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Mon, 27 Jul 2009 16:20:41 +0000 (16:20 +0000)]
Test case to check that separate section is created for a global variable specified with section attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77195
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 27 Jul 2009 16:11:46 +0000 (16:11 +0000)]
Change the assembly syntax for nsw, nuw, and exact, putting them
after their associated opcodes rather than before. This makes them
a little easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77194
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 27 Jul 2009 16:09:48 +0000 (16:09 +0000)]
Fix wording in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77193
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 15:52:58 +0000 (15:52 +0000)]
update testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77192
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 15:44:04 +0000 (15:44 +0000)]
32-bit darwin targets support .literal16 too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77191
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 27 Jul 2009 09:39:18 +0000 (09:39 +0000)]
Remove trailing slashes from include paths. Some versions of mingw don't like them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77188
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 27 Jul 2009 09:06:52 +0000 (09:06 +0000)]
Test commit: fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 06:17:14 +0000 (06:17 +0000)]
Eliminate getNamed/getUnnamedSection, adding a new and unified getOrCreateSection
instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Jul 2009 05:32:16 +0000 (05:32 +0000)]
Eliminate SectionFlags, just embed a SectionKind into Section
instead and drive things based off of that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77184
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Jul 2009 04:18:04 +0000 (04:18 +0000)]
If CPSR is modified but the def is dead, then it's ok to fold the load / store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77182
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Jul 2009 03:14:20 +0000 (03:14 +0000)]
Use t2LDRi12 and t2STRi12 to load / store to / from stack frames. Eliminate more getOpcode calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77181
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Mon, 27 Jul 2009 02:44:46 +0000 (02:44 +0000)]
Generate a libcall for i8 multiply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77179
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Mon, 27 Jul 2009 02:26:06 +0000 (02:26 +0000)]
fixed incorrect lowering of ISD::SUB node. SUB has only one result value.
It wasn't caught during tests because we never got a sub generated, (i8 was always getting promoted to int, which in turn was broken into subc/sube). Though the optimizer leaves an i8 sub now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77178
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Jul 2009 00:33:08 +0000 (00:33 +0000)]
Use the right instructions to copy between GPR and the more strictive tGPR classes. t2MOV does not match the RC requirements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77175
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Jul 2009 00:24:36 +0000 (00:24 +0000)]
Merge isLoadFromStackSlot into one since it behaves the same regardless of sub-target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77174
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Jul 2009 00:05:15 +0000 (00:05 +0000)]
Just use a single isMoveInstr to catch all the cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77173
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Jul 2009 23:59:01 +0000 (23:59 +0000)]
Rename tMOVhi2lor to tMOVgpr2tgpr. It's not moving from a high register to a low register. It's moving from a GPR register class to a more restrictive tGPR class. Also change tMOVlor2hir, and tMOVhir2hir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77172
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 26 Jul 2009 23:47:17 +0000 (23:47 +0000)]
Reorganize code a bit to reduce indentation. No visible functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77171
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 26 Jul 2009 22:16:39 +0000 (22:16 +0000)]
Fix libLTO:
* Call InitializeAllTargets on every path where we might query the
TargetRegistry. This fixes PR4604.
* flush the formatted_raw_ostream& or else not all of the assembly will make
it to the .s file. (It doesn't do this in its destructor?!)
* Due to a reversed conditional, libLTO was reporting many symbols as both
defined and undefined, including two definitions of the same symbol name
in its symbol list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77170
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 21:16:42 +0000 (21:16 +0000)]
Don't use llvm_report_error in libSystem, this is a layering violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77169
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 19:23:28 +0000 (19:23 +0000)]
untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create a
'unnamed' bss section, but some impls would want a named one. Since
they don't have consistent behavior, just make each target do their
own thing, instead of doing something "sortof common" then having
targets change immutable objects later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77165
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Jul 2009 18:55:14 +0000 (18:55 +0000)]
Refactor. Get rid of a few more getOpcode() calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 18:08:15 +0000 (18:08 +0000)]
reduce indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 17:46:03 +0000 (17:46 +0000)]
Use the RHS length instead of the LHS length. They are both the same,
but this ends up compiling code like this:
int foo(const StringRef &R) {
return R == "food";
}
to use a constant sized memcmp instead of a variable memcmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77160
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Sun, 26 Jul 2009 10:25:01 +0000 (10:25 +0000)]
Fix the breakage caused by 76950.
PIC16 has special naming conventions for variables having section names specified via section attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77153
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 09:48:23 +0000 (09:48 +0000)]
Remove Value::getName{Start,End}, the last of the old Name APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 09:22:02 +0000 (09:22 +0000)]
Make sure getName().data() is always null terminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77149
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 08:34:35 +0000 (08:34 +0000)]
Remove Value::getNameLen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77148
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 26 Jul 2009 08:16:51 +0000 (08:16 +0000)]
Move MSILModule and MSILWriter into the 'llvm' namespace, instead of the 'MSIL'
namespace which could very well conflict with non-LLVM code.
Also clean up some spacing, remove an extra header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77146
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 07:49:05 +0000 (07:49 +0000)]
Eliminate some uses of DOUT, cerr, and getNameStart().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 07:33:58 +0000 (07:33 +0000)]
remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,
just use a smallstring instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 07:17:39 +0000 (07:17 +0000)]
simplify SectionFlagsForGlobal, even though I want to kill it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 07:14:28 +0000 (07:14 +0000)]
make SectionKind keep track of whether a global had an explicit
section specified for it or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 07:07:01 +0000 (07:07 +0000)]
simplify this code now that SectionKind knows if a global is weak or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 07:00:12 +0000 (07:00 +0000)]
make SectionKind know whether a symbol is weak or not in addition
to its classification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:51:27 +0000 (06:51 +0000)]
Make the kind actually be private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:48:26 +0000 (06:48 +0000)]
rename Mergable -> Mergeable and Writable -> Writeable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77138
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:36:20 +0000 (06:36 +0000)]
two files I missed in the last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:34:33 +0000 (06:34 +0000)]
remove a bunch of helper functions, just use SectionKind::get instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77135
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:26:55 +0000 (06:26 +0000)]
simplify getSectionForMergableConstant to take a SectionKind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:16:11 +0000 (06:16 +0000)]
precreate 4/8/16 byte mergable sections to simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 06:11:33 +0000 (06:11 +0000)]
introduce specialized mergable const sectionkinds for elements of size 4/8/16 to
simplify targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 05:57:07 +0000 (05:57 +0000)]
improve the default impl of getSectionForMergableConstant by
putting readonly constants in the readonly section if we have one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 05:55:20 +0000 (05:55 +0000)]
make elf targets correctly handle constant pool entries that require relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 05:44:20 +0000 (05:44 +0000)]
Rearrange all the SectionKinds and structure them into a hierarchical
group instead of a bunch of random unrelated ideas. Provide predicates
to categorize a SectionKind into a group, and use them instead of
getKind() throughout the code.
This also renames a ton of SectionKinds to be more consistent and
evocative, and adds a huge number of comments on the enums so that
I will hopefully be able to remember how this stuff works long from
now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77129
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 05:41:39 +0000 (05:41 +0000)]
Update target registration description in Writing An LLVM Backend, and add
a mention in release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77128
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 05:09:50 +0000 (05:09 +0000)]
Sort list of targets in --version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77127
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 05:03:33 +0000 (05:03 +0000)]
Factor commonality in triple match routines into helper template for registering
classes, and migrate existing targets over.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77126
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 04:52:45 +0000 (04:52 +0000)]
Oops, forgot XCore. Sorry XCore!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77125
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 04:23:03 +0000 (04:23 +0000)]
Update for API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77124
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 04:18:10 +0000 (04:18 +0000)]
fix isReadOnly predicate to not include data that has to be
writable because of teh dynamic linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 04:09:02 +0000 (04:09 +0000)]
remove a dead enum case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77121
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 03:31:47 +0000 (03:31 +0000)]
Update Triple to use StringRef/Twine based APIs.
- This is now shorter, simpler, safer, and more efficient, what a deal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77119
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 03:18:15 +0000 (03:18 +0000)]
Add StringRef::{slice, split}, two convenient string operations which are simple
and efficient on a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 03:06:11 +0000 (03:06 +0000)]
put normal data into .data instead of .data.rel on elf systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77116
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 02:23:52 +0000 (02:23 +0000)]
Remove unused header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77115
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 02:22:58 +0000 (02:22 +0000)]
Kill Target specific ModuleMatchQuality stuff.
- This was overkill and inconsistently implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77114
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 02:12:58 +0000 (02:12 +0000)]
Add TargetRegistry::lookupTarget.
- This is a simplified mechanism which just looks up a target based on the
target triple, with a few additional flags.
- Remove getClosestStaticTargetForModule, the moral equivalent is now:
lookupTarget(Mod->getTargetTriple, true, false, ...);
- This no longer does the fuzzy matching with target data (based on endianness
and pointer width) that getClosestStaticTargetForModule was doing, but this
was deemed unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 01:44:55 +0000 (01:44 +0000)]
eliminate a pointless switch stmt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 01:24:18 +0000 (01:24 +0000)]
finish simplifying DarwinTargetAsmInfo::SelectSectionForGlobal
for now. Make the section switching directives more consistent
by not including \n and including \t for them all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77107
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 01:04:10 +0000 (01:04 +0000)]
Some clients rely on getName{Start,End} not returning 0, even if the length is
0.
- I could have swore the prev change went through a make check cycle...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77106
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 00:51:56 +0000 (00:51 +0000)]
Rewrite getName{Start,End,Len} in terms of getName(), instead of vice-versa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77105
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 00:51:36 +0000 (00:51 +0000)]
simplify DarwinTargetAsmInfo::SelectSectionForGlobal a bit
and make it more aggressive, we now put:
const int G2 __attribute__((weak)) = 42;
into the text (readonly) segment like gcc, previously we put
it into the data (readwrite) segment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77104
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Jul 2009 00:50:43 +0000 (00:50 +0000)]
simplify some predicates, add isMergableString()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77103
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 00:42:33 +0000 (00:42 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77102
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sun, 26 Jul 2009 00:39:34 +0000 (00:39 +0000)]
Add support for ARM Neon VREV instructions.
Patch by Anton Korzh, with some modifications from me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77101
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 00:34:27 +0000 (00:34 +0000)]
Remove Value::setName(const char*, unsigned).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77100
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 26 Jul 2009 00:17:14 +0000 (00:17 +0000)]
Remove Value::setName(const char*).
- Split into a separate patch because there is a slight functionality change,
it is no longer valid to call setName(0), which was equivalent to
setName(""). I'm hoping no one depends on this...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77099
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 23:55:21 +0000 (23:55 +0000)]
Remove Value::{isName, getNameRef}.
Also, change MDString to use a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 23:21:55 +0000 (23:21 +0000)]
make SectionKind be a first-class pod struct instead of just
an enum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77096
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Sat, 25 Jul 2009 21:26:02 +0000 (21:26 +0000)]
Added a test and fixed a bug in BumpPtrAllocator relating to large alignment
values. Hopefully this fixes PR4622.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 18:57:34 +0000 (18:57 +0000)]
this is (unfortunately) several changes mixed together:
1. Spell SectionFlags::Writeable as "Writable".
2. Add predicates for deriving SectionFlags from SectionKinds.
3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into
ELFTargetAsmInfo.
4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the
BSS bit set (the real fix for PR4619).
5. Fix isSuitableForBSS to not put globals with explicit sections
set in BSS (which was the reason #4 wasn't fixed earlier).
6. Remove my previous hack for PR4619.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 18:11:58 +0000 (18:11 +0000)]
document some invariants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 17:57:37 +0000 (17:57 +0000)]
add the most expedient hack to fix PR4619, along with a testcase.
Thanks to Rafael for the great example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77083
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 25 Jul 2009 16:18:38 +0000 (16:18 +0000)]
Fix a few comments to say "backedge-taken count" instead of
"trip count".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77081
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 25 Jul 2009 16:18:07 +0000 (16:18 +0000)]
SCEV objects are no longer reference-counted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77080
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 25 Jul 2009 16:03:55 +0000 (16:03 +0000)]
Update comments to new-style syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77079
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 25 Jul 2009 16:03:30 +0000 (16:03 +0000)]
When attempting to sign-extend an addrec by interpreting
the step value as unsigned, the start value and the addrec
itself still need to be treated as signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77078
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 25 Jul 2009 16:00:54 +0000 (16:00 +0000)]
Remove spurious semicolons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77077
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Sat, 25 Jul 2009 12:19:58 +0000 (12:19 +0000)]
Convert DOUT to DEBUG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77065
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 10:09:50 +0000 (10:09 +0000)]
Simplify JIT target selection.
- Instead of requiring targets to define a JIT quality match function, we just
have them specify if they support a JIT.
- Target selection for the JIT just gets the host triple and looks for the best
target which matches the triple and has a JIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77060
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Sat, 25 Jul 2009 07:48:53 +0000 (07:48 +0000)]
Mark attributes of return insn correctly. It was being assumed safe to delete in isSafeToDelete (a thing checked-in 76281).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77056
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 07:31:51 +0000 (07:31 +0000)]
remove this test. It is currently failing because we now emit the string
on darwin with ".cstring" instead of ".section __TEXT,__cstring". They
are the same and the former is better. Remove this because this is no longer
magic pixie dust in the frontend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77055
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 07:22:20 +0000 (07:22 +0000)]
eventually we should describe string options in the data structures section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77054
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Jul 2009 07:16:59 +0000 (07:16 +0000)]
minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77053
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 06:49:55 +0000 (06:49 +0000)]
Add new helpers for registering targets.
- Less boilerplate == good.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77052
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 06:02:13 +0000 (06:02 +0000)]
Finish migrating VMCore to StringRef/Twine based APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77051
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 05:26:53 +0000 (05:26 +0000)]
Ok, "most clients should be unaffected" was a lie. Add notes on upgrading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77050
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 25 Jul 2009 04:41:11 +0000 (04:41 +0000)]
Initial update to VMCore to use Twines for string arguments.
- The only meat here is in Value.{h,cpp} the rest is essential 'const
std::string &' -> 'const Twine &'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77048
91177308-0d34-0410-b5e6-
96231b3b80d8