Nick Lewycky
ec7ec7c1ac
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.
llvm-svn: 77146
2009-07-26 08:16:51 +00:00
Daniel Dunbar
9813b0b025
Eliminate some uses of DOUT, cerr, and getNameStart().
...
llvm-svn: 77145
2009-07-26 07:49:05 +00:00
Chris Lattner
1db210322a
remove a densemap from TargetAsmInfo that was uniquing the targetflags strings,
...
just use a smallstring instead.
llvm-svn: 77144
2009-07-26 07:33:58 +00:00
Chris Lattner
d2e0220cb4
simplify SectionFlagsForGlobal, even though I want to kill it.
...
llvm-svn: 77143
2009-07-26 07:17:39 +00:00
Chris Lattner
9db3a9286d
make SectionKind keep track of whether a global had an explicit
...
section specified for it or not.
llvm-svn: 77142
2009-07-26 07:14:28 +00:00
Chris Lattner
d9951203f0
simplify this code now that SectionKind knows if a global is weak or not.
...
llvm-svn: 77141
2009-07-26 07:07:01 +00:00
Chris Lattner
e45ff5cc2b
make SectionKind know whether a symbol is weak or not in addition
...
to its classification.
llvm-svn: 77140
2009-07-26 07:00:12 +00:00
Chris Lattner
b1575e2aec
Make the kind actually be private.
...
llvm-svn: 77139
2009-07-26 06:51:27 +00:00
Chris Lattner
29151b0218
rename Mergable -> Mergeable and Writable -> Writeable
...
llvm-svn: 77138
2009-07-26 06:48:26 +00:00
Chris Lattner
abd47512f7
two files I missed in the last commit.
...
llvm-svn: 77137
2009-07-26 06:36:20 +00:00
Chris Lattner
2d7270d577
remove a bunch of helper functions, just use SectionKind::get instead.
...
llvm-svn: 77135
2009-07-26 06:34:33 +00:00
Chris Lattner
fb6867c7db
simplify getSectionForMergableConstant to take a SectionKind.
...
llvm-svn: 77134
2009-07-26 06:26:55 +00:00
Chris Lattner
aae21f4915
precreate 4/8/16 byte mergable sections to simplify code.
...
llvm-svn: 77133
2009-07-26 06:16:11 +00:00
Chris Lattner
911e2b8649
introduce specialized mergable const sectionkinds for elements of size 4/8/16 to
...
simplify targets.
llvm-svn: 77132
2009-07-26 06:11:33 +00:00
Chris Lattner
6194637d66
improve the default impl of getSectionForMergableConstant by
...
putting readonly constants in the readonly section if we have one.
llvm-svn: 77131
2009-07-26 05:57:07 +00:00
Chris Lattner
1e76db06b9
make elf targets correctly handle constant pool entries that require relocations.
...
llvm-svn: 77130
2009-07-26 05:55:20 +00:00
Chris Lattner
1d68bd7f97
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.
llvm-svn: 77129
2009-07-26 05:44:20 +00:00
Daniel Dunbar
9d81cc668a
Update target registration description in Writing An LLVM Backend, and add
...
a mention in release notes.
llvm-svn: 77128
2009-07-26 05:41:39 +00:00
Daniel Dunbar
a0ad190a35
Sort list of targets in --version.
...
llvm-svn: 77127
2009-07-26 05:09:50 +00:00
Daniel Dunbar
ee01b242e8
Factor commonality in triple match routines into helper template for registering
...
classes, and migrate existing targets over.
llvm-svn: 77126
2009-07-26 05:03:33 +00:00
Daniel Dunbar
bd481a119c
Oops, forgot XCore. Sorry XCore!
...
llvm-svn: 77125
2009-07-26 04:52:45 +00:00
Daniel Dunbar
172649be2c
Update for API change.
...
llvm-svn: 77124
2009-07-26 04:23:03 +00:00
Chris Lattner
e24002f37f
fix isReadOnly predicate to not include data that has to be
...
writable because of teh dynamic linker.
llvm-svn: 77122
2009-07-26 04:18:10 +00:00
Chris Lattner
d71c1009c2
remove a dead enum case.
...
llvm-svn: 77121
2009-07-26 04:09:02 +00:00
Daniel Dunbar
19e7076ddd
Update Triple to use StringRef/Twine based APIs.
...
- This is now shorter, simpler, safer, and more efficient, what a deal.
llvm-svn: 77119
2009-07-26 03:31:47 +00:00
Daniel Dunbar
56563f33f7
Add StringRef::{slice, split}, two convenient string operations which are simple
...
and efficient on a StringRef.
llvm-svn: 77117
2009-07-26 03:18:15 +00:00
Chris Lattner
8e58bc9ed4
put normal data into .data instead of .data.rel on elf systems.
...
llvm-svn: 77116
2009-07-26 03:06:11 +00:00
Daniel Dunbar
4aea2d97c8
Remove unused header
...
llvm-svn: 77115
2009-07-26 02:23:52 +00:00
Daniel Dunbar
bc981d8efa
Kill Target specific ModuleMatchQuality stuff.
...
- This was overkill and inconsistently implemented.
llvm-svn: 77114
2009-07-26 02:22:58 +00:00
Daniel Dunbar
4f7dfaf650
Update for API change.
...
llvm-svn: 77112
2009-07-26 02:21:04 +00:00
Daniel Dunbar
47d679151b
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.
llvm-svn: 77111
2009-07-26 02:12:58 +00:00
Chris Lattner
3092b82255
eliminate a pointless switch stmt.
...
llvm-svn: 77110
2009-07-26 01:44:55 +00:00
Daniel Dunbar
6a82e424d0
Lookup targets by Triple instead of Module.
...
llvm-svn: 77108
2009-07-26 01:27:26 +00:00
Chris Lattner
397792d981
finish simplifying DarwinTargetAsmInfo::SelectSectionForGlobal
...
for now. Make the section switching directives more consistent
by not including \n and including \t for them all.
llvm-svn: 77107
2009-07-26 01:24:18 +00:00
Daniel Dunbar
3c27648eda
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...
llvm-svn: 77106
2009-07-26 01:04:10 +00:00
Daniel Dunbar
32285942a1
Rewrite getName{Start,End,Len} in terms of getName(), instead of vice-versa.
...
llvm-svn: 77105
2009-07-26 00:51:56 +00:00
Chris Lattner
5b42b45fb9
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.
llvm-svn: 77104
2009-07-26 00:51:36 +00:00
Chris Lattner
26ce308bbf
simplify some predicates, add isMergableString()
...
llvm-svn: 77103
2009-07-26 00:50:43 +00:00
Daniel Dunbar
a32c999ca2
Simplify.
...
llvm-svn: 77102
2009-07-26 00:42:33 +00:00
Bob Wilson
8a37bbebfd
Add support for ARM Neon VREV instructions.
...
Patch by Anton Korzh, with some modifications from me.
llvm-svn: 77101
2009-07-26 00:39:34 +00:00
Daniel Dunbar
d786b51ea4
Remove Value::setName(const char*, unsigned).
...
llvm-svn: 77100
2009-07-26 00:34:27 +00:00
Daniel Dunbar
987ec564e7
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...
llvm-svn: 77099
2009-07-26 00:17:14 +00:00
Daniel Dunbar
e03eecb75f
Remove Value::{isName, getNameRef}.
...
Also, change MDString to use a StringRef.
llvm-svn: 77098
2009-07-25 23:55:21 +00:00
Mike Stump
ea086c7263
Preserve qualifiers.
...
llvm-svn: 77097
2009-07-25 23:24:03 +00:00
Chris Lattner
0af00396a7
make SectionKind be a first-class pod struct instead of just
...
an enum.
llvm-svn: 77096
2009-07-25 23:21:55 +00:00
Ryan Flynn
e5dc8594ea
PR3575 - warn on declared variable or function attributes after a definition, which are currently ignored.
...
llvm-svn: 77095
2009-07-25 22:29:44 +00:00
Argyrios Kyrtzidis
39c348d915
Refactor ObjCImplDecl::getInstanceMethod/getClassMethod into one
...
ObjCImplDecl::getMethod.
llvm-svn: 77094
2009-07-25 22:16:03 +00:00
Argyrios Kyrtzidis
553376be19
Refactor ObjCInterfaceDecl::lookupInstanceMethod/lookupClassMethod into one
...
ObjCInterfaceDecl::lookupMethod.
llvm-svn: 77093
2009-07-25 22:15:51 +00:00
Argyrios Kyrtzidis
e6ed65bee0
Refactor ObjCProtocolDecl::lookupInstanceMethod/lookupClassMethod into one
...
ObjCProtocolDecl::lookupMethod.
llvm-svn: 77092
2009-07-25 22:15:38 +00:00
Argyrios Kyrtzidis
6de0560b97
Refactor ObjCContainerDecl::getInstanceMethod/getClassMethod into one
...
ObjCContainerDecl::getMethod.
Avoids code duplication.
llvm-svn: 77091
2009-07-25 22:15:22 +00:00