Douglas Gregor
483e510a83
CHAR_BIT == 8
...
llvm-svn: 64286
2009-02-11 04:02:22 +00:00
Devang Patel
8a9ced15d4
62987 disables LTO build on darwin.
...
Revert 62987 for now. Nicolas please investigate.
llvm-svn: 64285
2009-02-11 02:34:33 +00:00
Devang Patel
316705027b
If llvm.dbg.region.end is disappearing then remove corresponding llvm.dbg.func.start also.
...
llvm-svn: 64278
2009-02-11 01:29:06 +00:00
Douglas Gregor
6f233ef1d8
Add semantic checking for template arguments that correspond to
...
non-type template parameters that are references to functions or
pointers to member functions. Did a little bit of refactoring so that
these two cases, along with the handling of non-type template
parameters that are pointers to functions, are handled by the same
path.
Also, tweaked FixOverloadedFunctionReference to cope with member
function pointers. This is a necessary step for getting all of the fun
member pointer conversions working outside of template arguments, too.
llvm-svn: 64277
2009-02-11 01:18:59 +00:00
Mike Stump
f9cf4fa08c
One more tweak to account for gluing together llvm and clang into one.
...
llvm-svn: 64276
2009-02-11 01:11:36 +00:00
Mike Stump
9d5d3b9de5
More version experimentation.
...
llvm-svn: 64271
2009-02-11 01:01:17 +00:00
Douglas Gregor
a9faa44162
Semantic checking for template arguments that correspond to non-type
...
template parameters that have reference type. Effectively, we're doing
a very limited form of reference binding here.
llvm-svn: 64270
2009-02-11 00:44:29 +00:00
Mike Stump
081e354f11
Run a little experiment with version numbers.
...
llvm-svn: 64268
2009-02-11 00:36:04 +00:00
Dan Gohman
1262a25683
Don't print extra spaces in vector and array constants. This makes
...
them visually more consistent with vector and array types.
llvm-svn: 64267
2009-02-11 00:25:25 +00:00
Douglas Gregor
3a7796bccc
Add partial semantic checking of template arguments that are meant for
...
non-type template parameters of pointer-to-object and
pointer-to-function type. The most fun part of this is the use of
overload resolution to pick a function from the set of overloaded
functions that comes in as a template argument.
Also, fixed two minor bugs in this area:
- We were allowing non-type template parameters of type pointer to
void.
- We weren't patching up an expression that refers to an overloaded
function set via "&f" properly.
We're still not performing complete checking of the expression to be
sure that it is referring to an object or function with external
linkage (C++ [temp.arg.nontype]p1).
llvm-svn: 64266
2009-02-11 00:19:33 +00:00
Dan Gohman
c8dcf4d72b
It isn't necessary to explicitly clear the contents of std::vector
...
and DenseMap members in a destructor. And tidy up a comment.
llvm-svn: 64265
2009-02-11 00:18:15 +00:00
Bill Wendling
e5640dd8ad
Don't try to strip a file we just moved.
...
llvm-svn: 64263
2009-02-11 00:14:53 +00:00
Dan Gohman
27fa408b64
Use iterators to iterate through the Preds array instead of
...
an index. This code is on the hot-path because the current
way SDep edges are uniqued has quadratic complexity.
llvm-svn: 64262
2009-02-11 00:12:28 +00:00
Ted Kremenek
a3d9025dd3
BugReporter: Use llvm::raw_string_stream instead of std::ostringstream.
...
llvm-svn: 64259
2009-02-10 23:56:07 +00:00
Mike Stump
6abe6923e5
Add private extern to pretty printer(s).
...
llvm-svn: 64258
2009-02-10 23:49:50 +00:00
Ted Kremenek
5dcf9034c2
Add another test case for the MissingDealloc checker.
...
llvm-svn: 64257
2009-02-10 23:41:52 +00:00
Douglas Gregor
86560404fc
Add type-checking and implicit conversions for template parameters of
...
integral or enumeration type.
llvm-svn: 64256
2009-02-10 23:36:10 +00:00
Dan Gohman
b3dbb21df1
Consider any instruction that modifies the stack pointer to be
...
a scheduling region boundary. This isn't necessary for
correctness; it helps with compile time, as it avoids the need
for data- and anti-dependencies from all spills and reloads on
the stack-pointer modification.
llvm-svn: 64255
2009-02-10 23:29:38 +00:00
Dan Gohman
b95434356c
Factor out more code for computing register live-range informationfor
...
scheduling, and generalize is so that preserves state across
scheduling regions. This fixes incorrect live-range information around
terminators and labels, which are effective region boundaries.
In place of looking for terminators to anchor inter-block dependencies,
introduce special entry and exit scheduling units for this purpose.
llvm-svn: 64254
2009-02-10 23:27:53 +00:00
Anders Carlsson
7ccf3e4e28
Handle the case where EmitBlock might be called multiple times for the same block. Fixes PR3536.
...
llvm-svn: 64252
2009-02-10 22:50:24 +00:00
Fariborz Jahanian
d7264430e6
This patch is all it takes to pass all objc2's fast-enumeration
...
tests in the dejagnu test suite in the nonfragile abi mode.
llvm-svn: 64251
2009-02-10 22:46:12 +00:00
Ted Kremenek
c7d6964a38
PTH generation: Discard tokens that appear after and on the same line as '#endif'.
...
llvm-svn: 64250
2009-02-10 22:43:16 +00:00
Ted Kremenek
f70f089286
Bump PTH version.
...
llvm-svn: 64249
2009-02-10 22:37:57 +00:00
Chris Lattner
1ec246d233
make -dM emit macros in a deterministic (sorted) order instead of
...
random hash table order, I don't like non-determinstic output.
llvm-svn: 64248
2009-02-10 22:28:19 +00:00
Ted Kremenek
99c7275118
PTH generation: Don't call 'EmitToken' in the loop condition. This is preparing for other changes within the loop.
...
llvm-svn: 64247
2009-02-10 22:27:09 +00:00
Ted Kremenek
86423a9993
PTH: Replace ad hoc 'file name' -> 'PTH data' lookup table in the PTH file with an on-disk chained hash table. This data structure is implemented using templates, and will be used to replace similar data structures. This change leads to no visibile performance impact on Cocoa.h, but now we only pay a price for the table on order with the number of files accessed and not the number in the PTH file.
...
llvm-svn: 64245
2009-02-10 22:16:22 +00:00
Chris Lattner
8ac63738b4
use efficient form of getSpelling, this speeds up -dM by 16%.
...
llvm-svn: 64244
2009-02-10 22:16:03 +00:00
Devang Patel
654e47f366
Ignore dbg intrinsic while folding unconditional branch.
...
llvm-svn: 64242
2009-02-10 22:14:17 +00:00
Evan Cheng
589a539423
Handle llvm.x86.sse2.maskmov.dqu in 64-bit.
...
llvm-svn: 64240
2009-02-10 22:06:28 +00:00
Douglas Gregor
09cfcff492
GNU allows structs with flexible array members to be placed inside
...
arrays and other structs/unions as an extension. Downgrade our error
to a warning. Fixes PR3540.
llvm-svn: 64239
2009-02-10 21:49:46 +00:00
Daniel Dunbar
e46506eaea
Pull CodeGenFunction::EmitVAArg into target specific ABIInfo classes.
...
- Missed this file.
llvm-svn: 64238
2009-02-10 21:44:36 +00:00
Evan Cheng
df15f13c34
80 col violations.
...
llvm-svn: 64237
2009-02-10 21:39:44 +00:00
Duncan Sands
6632f12c11
This is now done using a real i33, rather than
...
an emulated one. Adjust the check.
llvm-svn: 64236
2009-02-10 20:44:15 +00:00
Daniel Dunbar
2d0746fb97
Pull CodeGenFunction::EmitVAArg into target specific ABIInfo classes.
...
llvm-svn: 64235
2009-02-10 20:44:09 +00:00
Fariborz Jahanian
4e7ae06b00
Generate ir for ivar offset. This will pass
...
type-nsobject-attribute.m in the dejagnu test suite
in the nonfragile abi mode.
llvm-svn: 64233
2009-02-10 20:21:06 +00:00
Mike Stump
74a7647973
Fixup -ast-print so that:
...
We handle indentation of decls better.
We Indent extern "C" { } stuff better.
We print out structure contents more often.
We handle pass indentation information into the statement printer, so that
nested things come out more indented.
We print out FieldDecls.
We print out Vars.
We print out namespaces.
We indent functions better.
llvm-svn: 64232
2009-02-10 20:16:46 +00:00
Mike Stump
1d05068395
Refactor FieldDecls to be ValueDecls instead of NamedDecls.
...
llvm-svn: 64231
2009-02-10 20:06:48 +00:00
Douglas Gregor
85e8b3eeed
Fix a problem with bogus template shadowing warnings
...
llvm-svn: 64230
2009-02-10 19:52:54 +00:00
Douglas Gregor
dba326363c
Implement parsing, semantic analysis and ASTs for default template
...
arguments. This commit covers checking and merging default template
arguments from previous declarations, but it does not cover the actual
use of default template arguments when naming class template
specializations.
llvm-svn: 64229
2009-02-10 19:49:53 +00:00
Devang Patel
da1a632a87
Use early exits. Reduce indentation.
...
llvm-svn: 64226
2009-02-10 19:28:07 +00:00
Fariborz Jahanian
21fc74c15a
Some refactoring of Ivar offset code gen.
...
in preparation for nonfragile ivar offset work.
llvm-svn: 64225
2009-02-10 19:02:04 +00:00
Dan Gohman
1f517dd1c4
Use const, to support platforms where strrchr returns a const char *.
...
This fixes PR3535.
llvm-svn: 64224
2009-02-10 17:56:28 +00:00
Douglas Gregor
8133879c5e
Semantic analysis for non-type template parameter declarations.
...
llvm-svn: 64223
2009-02-10 17:43:50 +00:00
Dan Gohman
1093e9a021
Answer a common FAQ:
...
"Can I compile C or C++ code to platform-independent LLVM bitcode?"
llvm-svn: 64222
2009-02-10 17:26:53 +00:00
Daniel Dunbar
9403cd6d85
Tweak x86-64 ABI to allow reuse for vararg handling.
...
llvm-svn: 64221
2009-02-10 17:06:09 +00:00
Duncan Sands
d1de45a146
Pacify gcc-4.3 (thinks IsConstant may be used
...
uninitialized).
llvm-svn: 64220
2009-02-10 16:24:55 +00:00
Evan Cheng
ce3bbe515b
Fix PR3457: Ignore control successors when looking for closest scheduled successor. A control successor doesn't read result(s) produced by the scheduling unit being evaluated.
...
llvm-svn: 64210
2009-02-10 08:30:11 +00:00
Devang Patel
4bed3565f3
Do not clone llvm.dbg.func.start and corresponding llvm.dbg.region.end during inlining.
...
llvm-svn: 64209
2009-02-10 07:48:18 +00:00
Ted Kremenek
f83882987e
Updated checker build.
...
llvm-svn: 64208
2009-02-10 07:38:50 +00:00
Devang Patel
caf4485781
Enable scalar replacement of AllocaInst whose one of the user is dbg info.
...
llvm-svn: 64207
2009-02-10 07:00:59 +00:00