Chris Lattner
4578098b97
detemplatize alpha code emission, it is now JIT specific.
...
llvm-svn: 95133
2010-02-02 21:35:47 +00:00
Nick Kledzik
debb901045
add __sync_synchronize. Needed by compiler when emitting thumb1 with -fno-builtin
...
llvm-svn: 95132
2010-02-02 21:34:04 +00:00
Chris Lattner
0cd6c2a047
eliminate all the dead addSimpleCodeEmitter implementations.
...
eliminate random "code emitter" stuff in Alpha, except for
the JIT path. Next up, remove the template cruft.
llvm-svn: 95131
2010-02-02 21:31:47 +00:00
Evan Cheng
c1b0116ff1
Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.
...
llvm-svn: 95130
2010-02-02 21:29:10 +00:00
Ted Kremenek
416b923786
Explicitly check for casts to double or complex types instead of possibly asserting in SValuator.
...
llvm-svn: 95128
2010-02-02 21:11:40 +00:00
Dan Gohman
47d7347858
Make DenseSet's erase pass on the return value rather than swallowing it.
...
llvm-svn: 95127
2010-02-02 21:11:22 +00:00
Dan Gohman
6013cf9cbe
Fix function names in comments. Thanks Duncan!
...
llvm-svn: 95126
2010-02-02 21:10:27 +00:00
Chris Lattner
60272554aa
update for llvm api changes.
...
llvm-svn: 95125
2010-02-02 21:06:50 +00:00
Chris Lattner
f0cb12acf2
eliminate FileModel::Model, just use CodeGenFileType. The client
...
of the code generator shouldn't care what object format a target
uses.
llvm-svn: 95124
2010-02-02 21:06:45 +00:00
Nick Kledzik
1683cebc9d
add compiler options for B&I builds
...
llvm-svn: 95123
2010-02-02 21:03:34 +00:00
Chris Lattner
de9b3ada5d
this apparently depends on the host somehow.
...
llvm-svn: 95122
2010-02-02 20:57:28 +00:00
Bill Wendling
ed0278c37f
XFAIL for PPC Darwin.
...
llvm-svn: 95121
2010-02-02 20:56:02 +00:00
Chris Lattner
2481509162
disable this test for now.
...
llvm-svn: 95120
2010-02-02 20:41:39 +00:00
Sean Callanan
0205452f38
...and fixed the Makefile.
...
llvm-svn: 95119
2010-02-02 20:20:30 +00:00
Sean Callanan
2e66266d68
Renamed the ed directory to edis, as suggested
...
yesterday. This eliminates possible confusion
about what exactly in this directory; the name
is still short, though.
llvm-svn: 95118
2010-02-02 20:11:23 +00:00
Douglas Gregor
a71cc15361
Implement promotion for enumeration types.
...
WHAT!?!
It turns out that Type::isPromotableIntegerType() was not considering
enumeration types to be promotable, so we would never do the
promotion despite having properly computed the promotion type when the
enum was defined. Various operations on values of enum type just
"worked" because we could still compute the integer rank of an enum
type; the oddity, however, is that operations such as "add an enum and
an unsigned" would often have an enum result type (!). The bug
actually showed up as a spurious -Wformat diagnostic
(<rdar://problem/7595366>), but in theory it could cause miscompiles.
In this commit:
- Enum types with a promotion type of "int" or "unsigned int" are
promotable.
- Tweaked the computation of promotable types for enums
- For all of the ABIs, treat enum types the same way as their
underlying types (*not* their promotion types) for argument passing
and return values
- Extend the ABI tester with support for enumeration types
llvm-svn: 95117
2010-02-02 20:10:50 +00:00
Anders Carlsson
5dc86337fb
Set the correct vtable pointers _before_ generating code for any member initializers. Fixes about ~2000 clang/LLVM tests in the clang-on-clang build.
...
llvm-svn: 95116
2010-02-02 19:58:43 +00:00
Chris Lattner
29e0702dc8
remove the remnants of TargetMachOWriterInfo.
...
llvm-svn: 95114
2010-02-02 19:41:23 +00:00
Chris Lattner
809ae81ff9
Add a new top-level MachO.h file for manifest constants, fixing
...
a layering violation from MC -> Target.
llvm-svn: 95113
2010-02-02 19:38:14 +00:00
Johnny Chen
8487d65ea2
Added t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.
...
llvm-svn: 95112
2010-02-02 19:31:58 +00:00
Chris Lattner
d1e821f7eb
remove PPCMachOWriterInfo.
...
llvm-svn: 95111
2010-02-02 19:23:55 +00:00
Chris Lattner
f3c1b08508
update for llvm api change.
...
llvm-svn: 95110
2010-02-02 19:14:34 +00:00
Chris Lattner
03dc0f7077
eliminate all forms of addPassesToEmitMachineCode except
...
the one used by the JIT. Remove all forms of
addPassesToEmitFileFinish except the one used by the static
code generator. Inline the remaining version of
addPassesToEmitFileFinish into its only caller.
llvm-svn: 95109
2010-02-02 19:14:27 +00:00
Anders Carlsson
8345a07c25
Fix test.
...
llvm-svn: 95108
2010-02-02 19:09:34 +00:00
Kevin Enderby
db32c4567b
Added another version of the X86 assembler matcher test case.
...
This test case is different subset of the full auto generated test case, and a
larger subset that is in x86_32-bit.s (that set will encode correctly). These
instructions can pass though llvm-mc as it were a logical cat(1) and then
reassemble to the same instruction. It is useful as we bring up the parser and
matcher so we don't break things that currently work.
llvm-svn: 95107
2010-02-02 19:05:57 +00:00
John McCall
eba90cd682
Dump the constructor type for a CXXConstructExpr.
...
llvm-svn: 95106
2010-02-02 19:03:45 +00:00
Chris Lattner
57992e2da6
remove dead code, we're requesting TargetMachine::AssemblyFile here.
...
llvm-svn: 95105
2010-02-02 19:03:39 +00:00
John McCall
c17ae44b09
Fix this comment.
...
llvm-svn: 95104
2010-02-02 19:02:38 +00:00
Dale Johannesen
da431c76fb
Test revert 95050; there's a good chance it's causing
...
buildbot failure.
llvm-svn: 95103
2010-02-02 18:52:56 +00:00
Chris Lattner
2fdf5b535e
Inline addAssemblyEmitter into its one real caller and delete
...
the -print-emitted-asm option. The JIT shouldn't have to pull
in the asmprinter.
llvm-svn: 95100
2010-02-02 18:44:12 +00:00
Sebastian Redl
f184291fec
Check for redefinitions in MergeVarDecl. This finds redefinitions of globals without an initializer in C++ and thus fixes PR5451.
...
llvm-svn: 95098
2010-02-02 18:35:11 +00:00
Fariborz Jahanian
06769f9197
Fix up rewriting of protocol qualified types in objc rewriter.
...
Fixes radar 7589414.
llvm-svn: 95097
2010-02-02 18:35:07 +00:00
Sebastian Redl
ccdb5ff17d
Fix a C++ regression where redefinitions weren't diagnosed.
...
llvm-svn: 95096
2010-02-02 17:55:12 +00:00
Douglas Gregor
efbaf99dca
Include <stdlib.h>, so that we're sure to get atoi.
...
llvm-svn: 95095
2010-02-02 17:49:52 +00:00
Chris Lattner
afe6a840d4
the declspec of a declaration can have storage-class specifiers,
...
type qualifiers and type specifiers in any order. For example,
this is valid: struct x {...} typedef y;
This fixes PR6208.
llvm-svn: 95094
2010-02-02 17:32:27 +00:00
Daniel Dunbar
ffa70e8b27
Driver/Darwin: Don't error/warn on conflicting deployment targets. Apparently
...
this is still a popular thing to do.
llvm-svn: 95093
2010-02-02 17:31:12 +00:00
Duncan Sands
fa5f5965de
Adding missing methods for creating Add, Mul, Neg and Sub with NUW.
...
llvm-svn: 95086
2010-02-02 12:53:04 +00:00
Chandler Carruth
173bfe477b
Use the Arg variable rather than re-computing it. This also silences GCC's
...
unused variable warning.
llvm-svn: 95085
2010-02-02 12:15:55 +00:00
John McCall
03c4848bf4
Mark dtors for parameter variables and eliminate some redundant type munging.
...
llvm-svn: 95079
2010-02-02 09:10:11 +00:00
John McCall
6781b05a92
Access control for implicit destructor calls. Diagnostic could be orders of
...
magnitude clearer.
llvm-svn: 95078
2010-02-02 08:45:54 +00:00
John McCall
49786a6c31
Codegen CXXConstructExprs with trivial constructors as constants.
...
Eliminates a lot of spurious global initializers, fixing PR6205.
llvm-svn: 95077
2010-02-02 08:02:49 +00:00
Anders Carlsson
75b1f959da
Check in a test case and a nasty workaround for PR6199.
...
llvm-svn: 95076
2010-02-02 07:10:35 +00:00
Zhongxing Xu
30678293f1
Return value on every path.
...
llvm-svn: 95075
2010-02-02 07:05:31 +00:00
Zhongxing Xu
0bb19a0483
simplify code.
...
llvm-svn: 95074
2010-02-02 06:33:32 +00:00
Zhongxing Xu
b6c17a84d1
More logic correction: RemoveOverlap should always create new tree. Add a
...
parameter to record whether changes actually happened.
llvm-svn: 95073
2010-02-02 06:22:08 +00:00
John McCall
1acbbb5a4c
Extract a common base class between UnresolvedLookupExpr and
...
UnresolvedMemberExpr and employ it in a few places where it's useful.
llvm-svn: 95072
2010-02-02 06:20:04 +00:00
Daniel Dunbar
c4c7db6b71
XFAIL two tests on Win32 until some cares to investigate... the problem on
...
dyncast is just due to \r\n newline interaction w/ regexps. The remap-load.c
failure is a bit stranger (the end of the extent is on the next line), but I
don't care to investigate.
llvm-svn: 95071
2010-02-02 05:41:30 +00:00
Zhongxing Xu
4e9418ab28
Add a lookup method to the IntervalMap. The difference from the original
...
lookup is that if the lookup key is contained in the key, we return the data.
llvm-svn: 95070
2010-02-02 05:23:23 +00:00
Chris Lattner
0b8ecb511c
this is reasonably complete by now.
...
llvm-svn: 95069
2010-02-02 05:23:01 +00:00
Daniel Dunbar
a43a1eea87
CIndex: Use 'env' instead of relying on bash environment-variable setting
...
syntax.
llvm-svn: 95068
2010-02-02 05:20:37 +00:00