Chris Lattner
11b2fc9ea4
Change MCAsmStreamer to take an MCInstPrinter instead of a
...
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.
llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.
llvm-svn: 81754
2009-09-14 03:02:37 +00:00
Daniel Dunbar
83604067da
Teach 'make check-lit' to run unittests.
...
llvm-svn: 81753
2009-09-14 02:39:01 +00:00
Daniel Dunbar
6ced391121
Attempt to fix some 4.0.0 build warnings.
...
llvm-svn: 81752
2009-09-14 02:38:53 +00:00
Daniel Dunbar
54ec232c60
lit: Give test formats control over test discovery.
...
llvm-svn: 81751
2009-09-14 02:38:46 +00:00
Nick Lewycky
a22585ada9
Fix a pair of comment typos.
...
llvm-svn: 81750
2009-09-14 02:25:34 +00:00
Nick Lewycky
22c4a497ab
Fifth time's a charm! Remove ourselves as abstract type listeners once we've
...
been told that the type is no longer abstract.
llvm-svn: 81749
2009-09-14 02:25:19 +00:00
Daniel Dunbar
d53bac7fa4
ARM/APCS: Don't treat structs w/ floating point types as "integer like".
...
llvm-svn: 81748
2009-09-14 02:20:34 +00:00
Sam Weinig
914244e7b0
Add support for -Wchar-subscripts. Fixes PR4801.
...
llvm-svn: 81747
2009-09-14 01:58:58 +00:00
Chris Lattner
6d31b43592
Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter
...
be a MCInstPrinter.
llvm-svn: 81746
2009-09-14 01:49:26 +00:00
Chris Lattner
de57d8e72b
add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.
...
llvm-svn: 81745
2009-09-14 01:43:38 +00:00
Chris Lattner
aa398f5d23
tidy up a bit.
...
llvm-svn: 81744
2009-09-14 01:34:40 +00:00
Anders Carlsson
aedb46fe21
If a function call returns a reference, don't bind it to a temporary.
...
llvm-svn: 81743
2009-09-14 01:30:44 +00:00
Chris Lattner
f3f93aea75
slightly increase prettiness.
...
llvm-svn: 81742
2009-09-14 01:27:50 +00:00
Chris Lattner
a7e8ae4521
emit the register table as a massive string to avoid relocations.
...
llvm-svn: 81741
2009-09-14 01:26:18 +00:00
Chris Lattner
971aad136c
move StringToOffsetTable out to its own header.
...
llvm-svn: 81740
2009-09-14 01:19:16 +00:00
Chris Lattner
b47ed61f26
factor string table generation out to its own class. This changes
...
the encoding of the AsmStrs table saving a byte or two.
llvm-svn: 81739
2009-09-14 01:16:36 +00:00
Anders Carlsson
96bad9a5cd
Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.
...
llvm-svn: 81738
2009-09-14 01:10:45 +00:00
Daniel Dunbar
1ce7251a0a
Some minor clang/ARM/AAPCS tweaks.
...
llvm-svn: 81737
2009-09-14 00:56:55 +00:00
Nick Lewycky
c9f9367785
Don't leak! Always remove oneself as a listener after adding oneself.
...
llvm-svn: 81736
2009-09-14 00:36:52 +00:00
Daniel Dunbar
b4091a9c6a
Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.
...
llvm-svn: 81735
2009-09-14 00:35:03 +00:00
Daniel Dunbar
4ed7898294
Support -mabi= for clang/ARM.
...
llvm-svn: 81734
2009-09-14 00:34:46 +00:00
Anders Carlsson
8783737029
Handle delete where the class has a virtual destructor.
...
llvm-svn: 81733
2009-09-14 00:16:25 +00:00
Daniel Dunbar
125f8fb761
ARM target tweaks.
...
- Change TargetData string to match llvm-gcc.
- Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes.
llvm-svn: 81732
2009-09-14 00:02:24 +00:00
Daniel Dunbar
4e97bc3ee7
Add -target-abi clang-cc option, currently unused.
...
llvm-svn: 81731
2009-09-14 00:02:12 +00:00
Anders Carlsson
40a90c8754
Fix a bug in getFriendObjectKind where we would clear out all mask bits except IDNS_TagFriend and IDNS_OrdinaryFriend but then check for IDNS_Tag and IDNS_Ordinary.
...
llvm-svn: 81730
2009-09-13 23:59:13 +00:00
Nick Lewycky
64f18eceaf
Actually remove old types from the set.
...
Also break the type verification stuff into its own TypeSet to keep the
Verifier pass from becoming an AbstractTypeUser.
llvm-svn: 81729
2009-09-13 23:45:39 +00:00
Chris Lattner
d0a3f194a6
eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.
...
llvm-svn: 81728
2009-09-13 22:45:04 +00:00
Chris Lattner
0bad631cde
kill off the last use of TRI::AsmName.
...
llvm-svn: 81727
2009-09-13 22:42:03 +00:00
Chris Lattner
a3e68b567c
add some special case handling for strangely named x86 registers.
...
llvm-svn: 81726
2009-09-13 22:41:48 +00:00
Daniel Dunbar
96ccc47a13
Build (not test) the unittests as part of a normal build.
...
- 'make unittests' still builds and tests.
- 'make unitcheck' inside a unittest directory runs the tests in that directory.
llvm-svn: 81725
2009-09-13 22:39:27 +00:00
Chris Lattner
b4370748b3
unbreak this test by working around an asmparser bug.
...
llvm-svn: 81724
2009-09-13 22:28:17 +00:00
Chris Lattner
a4760f3642
'printMCInst' doesn't print newlines after instructions anymore.
...
llvm-svn: 81723
2009-09-13 22:24:34 +00:00
Oscar Fuentes
b9a781373c
CMake: New user-settable variable LLVM_TARGET_ARCH useful when
...
cross-compiling.
Patch by Xerxes Rånby!
llvm-svn: 81722
2009-09-13 22:18:38 +00:00
Nick Lewycky
14b1aacf10
Update the tutorial to match changes to examples/Kaleidoscope.
...
One change I'm not folding in is the removal of two unused variables that
caused warnings, because those were there for expository purposes.
llvm-svn: 81721
2009-09-13 21:38:54 +00:00
Anders Carlsson
1b12ed4a00
Perform the C++ specific semantic checks of a function declaration after it's been merged with the previous declaration. This ensures that getPreviousDecl() will have the right value when ActOnConversionDeclarator is called.
...
llvm-svn: 81720
2009-09-13 21:33:06 +00:00
Daniel Dunbar
6be903e185
Move unittest driver to utils/unittest/UnitTestMain.
...
- This eliminates a race between building the unittests and linking the
UnitTestMain library.
llvm-svn: 81719
2009-09-13 21:31:21 +00:00
Daniel Dunbar
51e72707b7
Remove unused variables.
...
llvm-svn: 81718
2009-09-13 21:31:07 +00:00
Nick Lewycky
6133026331
Storing a set of PATypeHolders is a bad idea because their sort order will
...
change as types are refined. Remove abstract types from CheckedTypes when they
we're informed that they have been refined. The only way types get refined in
the verifier is when later function passes start optimizing. Fixes PR4970.
llvm-svn: 81716
2009-09-13 21:07:59 +00:00
Anders Carlsson
002f2b3eec
CXXMethodDecl::isVirtual needs to check the canonical declaration. Fixes PR4878.
...
llvm-svn: 81715
2009-09-13 21:01:57 +00:00
Chris Lattner
eb2cc68254
remove all but one reference to TargetRegisterDesc::AsmName.
...
llvm-svn: 81714
2009-09-13 20:31:40 +00:00
Chris Lattner
ad10b3be3e
the tblgen produced 'getRegisterName' method does not access
...
the object, make it static instead of const.
llvm-svn: 81711
2009-09-13 20:19:22 +00:00
Chris Lattner
56950c6b97
switch the x86 asmprinters to use getRegisterName instead
...
of getting it from TRI, inst printing now is codegen context
free!
llvm-svn: 81710
2009-09-13 20:15:16 +00:00
Mikhail Glushenkov
20ef60e1ab
Fix a small issue with recent changes to this code.
...
The 'false.c' file wasn't being used.
llvm-svn: 81709
2009-09-13 20:14:57 +00:00
Chris Lattner
06c5eed9e9
make tblgen produce a function that returns the name for a physreg.
...
Nothing is using this info yet.
llvm-svn: 81707
2009-09-13 20:08:00 +00:00
Chris Lattner
6822e695c1
eliminate an extraneous use of TRI::getAsmName in a comment.
...
llvm-svn: 81705
2009-09-13 19:48:37 +00:00
Chris Lattner
6ceb0faafd
make intel asmprinter use TRI::getAsmName instead of TRI::getName like
...
all the other targets. Add support for weak/linkonce linkage so it doesn't
crash on basically all nontrivial testcases.
llvm-svn: 81704
2009-09-13 19:44:38 +00:00
Chris Lattner
1cbd3ded33
split MCInst printing out of the X86ATTInstPrinter
...
class into its own X86ATTInstPrinter class. The inst
printer now has just one dependence on the code generator
(TRI).
llvm-svn: 81703
2009-09-13 19:30:11 +00:00
Chris Lattner
159db96ae1
reduce indentation with early exit.
...
llvm-svn: 81699
2009-09-13 19:10:08 +00:00
Chris Lattner
5156a00989
second part to r81695, I missed a directory.
...
llvm-svn: 81696
2009-09-13 19:03:08 +00:00
Chris Lattner
d940dd5801
remove MAI::JumpTableSpecialLabelPrefix now that MAI
...
has real information about linker private linkage.
llvm-svn: 81695
2009-09-13 19:02:16 +00:00