Daniel Dunbar
56e2947a33
Add TargetInfo libraries for all targets.
...
- Intended to match current TargetMachine implementations.
- No facilities for linking these in yet.
llvm-svn: 75751
2009-07-15 06:35:19 +00:00
Zhongxing Xu
a5da8d25b7
rewrite the logic to make it follow the comments more closely.
...
llvm-svn: 75750
2009-07-15 06:21:18 +00:00
Evan Cheng
9e0c7f2c5e
Move load / store folding alignment require into the table(s).
...
llvm-svn: 75749
2009-07-15 06:10:07 +00:00
Ted Kremenek
4802955b84
Enhance RegionStore's reasoning about Objective-C ivars. More testing to follow.
...
llvm-svn: 75748
2009-07-15 06:09:28 +00:00
Ted Kremenek
1492e1781a
Update CMake file.
...
llvm-svn: 75746
2009-07-15 05:39:55 +00:00
Zhongxing Xu
b5bf7ee393
Use utility method.
...
llvm-svn: 75745
2009-07-15 05:09:24 +00:00
Chris Lattner
e4a3f6fa3b
rename decorateName -> DecorateCygMingName, make it assert if not
...
cygming, make the two callers only call it if cygming. Other minor
cleanups.
llvm-svn: 75744
2009-07-15 04:55:56 +00:00
Chris Lattner
c35b5bac32
eliminate the Mangler::PreserveAsmNames bit, the sole client of this
...
can do it perfectly well itself.
llvm-svn: 75743
2009-07-15 04:50:47 +00:00
Chris Lattner
fe78558f95
remove printSuffixedName.
...
llvm-svn: 75742
2009-07-15 04:42:49 +00:00
Chris Lattner
a2268c0b19
convert arm/darwin stubs to use the mangler to synthesize all the names instead of
...
doing it with printSuffixedName.
llvm-svn: 75741
2009-07-15 04:41:01 +00:00
Zhongxing Xu
12b1d137c2
Add getName() method to Entity.
...
llvm-svn: 75740
2009-07-15 04:39:21 +00:00
Daniel Dunbar
078a71e4a9
Add new TargetRegistry.
...
Targets implement a single global Target structure which will live in a new
<Target>/TargetInfo library; this will be present in any image which the target
is usable in.
- Optional target specific classes can then be registered and attached to the
Target description.
- Registration for normal Targets will be done via the initialization functions
instead of using static constructors.
- This allows clients to use a single interface to obtain target data, without
requiring the code generator be linked in. It also provides a natural
extension point for adding new optional target data (assembler parser,
disassembler, etc.).
- This also provides a new entry point for obtaining a target for a particular
triple (without a module).
- Not yet used, however this should eventually replace the TargetMachineRegistry.
llvm-svn: 75739
2009-07-15 04:24:58 +00:00
Ted Kremenek
57fa7e3cc8
Relax assertion.
...
llvm-svn: 75738
2009-07-15 04:23:32 +00:00
Chris Lattner
55452c2bea
fix an arm codegen bug (the same as PR4482 on ppc) where available_externally
...
symbols were not getting stubs. While I'm at it, add a big testcase for
stub generation to make sure I don't break anything.
llvm-svn: 75737
2009-07-15 04:12:33 +00:00
Chris Lattner
53fe736214
convert [Hidden]GVNonLazyPtrs to compute the global and stub names
...
with the mangler (like x86 and ppc), instead of going through
printSuffixedName.
llvm-svn: 75736
2009-07-15 03:12:43 +00:00
Chris Lattner
52d0fec140
use makeNameProper to add the globalprefix instead of doing it manually.
...
llvm-svn: 75734
2009-07-15 03:01:23 +00:00
Chris Lattner
7d1f9542c2
get the PPC stub temporary label from the mangler instead of
...
using horrible string hacking. This gives us a different label,
but it's just an assembler temporary, so the name doesn't matter.
llvm-svn: 75733
2009-07-15 02:56:53 +00:00
Chris Lattner
d68df2a481
turn some if/then's into ?:
...
llvm-svn: 75732
2009-07-15 02:36:21 +00:00
Chris Lattner
9a066cacf5
eliminate a bunch of printSuffixedName's by using info computed from
...
Mangler in FnStubs.
llvm-svn: 75731
2009-07-15 02:33:19 +00:00
Ted Kremenek
e6fea68c46
More test cases revealed that the logic in StoreManager::InvalidateRegion() needs more finesse when handling the invalidation of pointers. Pointers that were invalidated as integers could later cause problems for clients using them as pointers. It is easier for us to model a symbolic value as a pointer rather than modeling a non-symbolic value as a pointer.
...
This patch causes:
- StoreManager::InvalidateRegion() to not used the casted type of a region if
it would cause a pointer type to be invalidated as a non-pointer type.
- Pushes RegionStore::RetrieveElement() further by handling retrievals from
symbolic arrays that have been invalidated. This uses the new SymbolDerived
construct that was recently introduced.
The result is that the failing test in misc-ps-region-store-x86_64.m now passes.
Both misc-ps-region-store-x86_64.m and misc-ps-region-store-i386.m contain a
test case that motivated this change.
llvm-svn: 75730
2009-07-15 02:31:43 +00:00
Chris Lattner
e8382ac9b1
convert FnStubs to using a more structured form, eliminating
...
a couple instances of printSuffixedName (in favor of having
the mangler do stuff).
llvm-svn: 75729
2009-07-15 02:28:57 +00:00
Ted Kremenek
c6c2157836
Introduced the notion of a "derived symbol" using the class SymbolDerived.
...
SymbolDerived allows us to model symbolic values that are related to other
symbols via a region hierarchy. For example, SymbolDerived can be used to model
individual values of a symbolic array.
llvm-svn: 75728
2009-07-15 02:27:32 +00:00
Chris Lattner
1447bd2314
actually $stub labels *are* private, I just missed that
...
printSuffixedName automatically does this.
llvm-svn: 75727
2009-07-15 01:53:36 +00:00
Chris Lattner
dab248ac95
convert this to filecheck style and make it a test of darwin/PPC's
...
extremely elaborate pic/nopic stubs.
llvm-svn: 75726
2009-07-15 01:43:31 +00:00
Chris Lattner
815337abd6
simplify this test to test the esentials.
...
llvm-svn: 75725
2009-07-15 01:32:33 +00:00
Ryan Flynn
6817040bed
test commit; add self
...
llvm-svn: 75724
2009-07-15 01:32:31 +00:00
Dan Gohman
b0f8e9960d
Fix indentation.
...
llvm-svn: 75723
2009-07-15 01:26:32 +00:00
Dan Gohman
c43e47938a
Make makeLoopInvariant report whether it made any changes or not,
...
and use this to simplify more code.
llvm-svn: 75722
2009-07-15 01:25:43 +00:00
Chris Lattner
7f318128d0
$stub references should not be private ("L") labels.
...
llvm-svn: 75721
2009-07-15 01:23:13 +00:00
Chris Lattner
8da3ce3bfd
simplify "EmitExternalGlobal": it is only used to output a
...
reference to the personality function for a module, and
those are all added to the GVStubs array by looping
over MMI->getPersonalities()
llvm-svn: 75720
2009-07-15 01:16:38 +00:00
Chris Lattner
9ffa4e2193
Convert GVStubs and HiddenGVStubs to work more like the X86 backend, this
...
eliminates a bunch of uses of "printSuffixedName" and "getGlobalLinkName".
llvm-svn: 75719
2009-07-15 01:14:44 +00:00
Chris Lattner
0b1ca0a303
minor cleanups: only switch sections once before all function stubs, instead of
...
before each one.
llvm-svn: 75718
2009-07-15 00:55:58 +00:00
Dan Gohman
00d4fb45e5
llvm-c/Core.h is no longer needed in lto.h, and it brings in
...
several unwanted dependencies.
llvm-svn: 75717
2009-07-15 00:47:00 +00:00
Chris Lattner
c1bc3701b6
Fix a fixme, patch by Ryan Flynn!
...
llvm-svn: 75716
2009-07-15 00:36:04 +00:00
Evan Cheng
d1c4705577
control reaches end of non-void function.
...
llvm-svn: 75714
2009-07-14 23:55:32 +00:00
Ted Kremenek
e5d2f79876
Handle cast of 'ObjCObjectRegion' in StoreManager::InvalidateRegion.
...
llvm-svn: 75713
2009-07-14 23:52:07 +00:00
Fariborz Jahanian
dfbd05d8aa
Added a FIXME and prevent crash when listing
...
a dependent type in the ctor initializer-list.
llvm-svn: 75712
2009-07-14 23:41:35 +00:00
Kevin Enderby
d1ea5393c9
Added llvm-mc support for parsing the .include directive.
...
llvm-svn: 75711
2009-07-14 23:21:55 +00:00
Ted Kremenek
9a797db199
Split out 'test2' into an i386 and x86_64 file, illustrating how the
...
test behavior differs between architectures. When this is no longer
the case, these tests will be merged.
llvm-svn: 75708
2009-07-14 23:17:22 +00:00
Chris Lattner
ca99c348ed
minor syntax cleanup
...
llvm-svn: 75707
2009-07-14 23:14:10 +00:00
Owen Anderson
170229f68d
Update for LLVM API change, and contextify a bunch of related stuff.
...
llvm-svn: 75705
2009-07-14 23:10:40 +00:00
Owen Anderson
b6b2530000
Move EVER MORE stuff over to LLVMContext.
...
llvm-svn: 75703
2009-07-14 23:09:55 +00:00
Ted Kremenek
eea582f04f
This test currently only passes for 32-bit archs.
...
llvm-svn: 75698
2009-07-14 22:58:18 +00:00
Daniel Dunbar
2c2c4af05e
Fix path name.
...
llvm-svn: 75697
2009-07-14 22:58:03 +00:00
Fariborz Jahanian
5da7ecb245
Fixed a bug in building ctor-initializer AST.
...
llvm-svn: 75692
2009-07-14 22:40:50 +00:00
Eli Friedman
bb0d9a5129
Remove -ftraditional option, which gcc doesn't actually support. Make
...
using -traditional and -traditional-cpp with clang an error because
it's unsupported in clang and causes a significant change in the
semantics of the language.
llvm-svn: 75690
2009-07-14 21:58:17 +00:00
Bruno Cardoso Lopes
ef130cfa95
Use the right relocation type for X86::MOV64ri64i32
...
llvm-svn: 75687
2009-07-14 21:46:40 +00:00
Bob Wilson
a9111b9f97
Fix bad indentation and 80-col violation.
...
llvm-svn: 75686
2009-07-14 21:45:58 +00:00
Kevin Enderby
cbe475dfe8
Added llvm-mc support for parsing the .lsym directive.
...
llvm-svn: 75685
2009-07-14 21:35:03 +00:00
Devang Patel
9be7b20401
Revert 75648 for now. It is causing test failures.
...
llvm-svn: 75684
2009-07-14 21:31:22 +00:00