Alexis Hunt
4a8ea1092a
Modify some deleted function methods to better reflect reality:
...
- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHaveABody() does what
isThisDeclarationADefinition() used to do
- The IsDeleted bit is not propagated across redeclarations
- isDeleted() now checks the canoncial declaration
- New isDeletedAsWritten() does what it says on the tin.
- isUserProvided() now correct (thanks Richard!)
This fixes the bug that we weren't catching
void foo() = delete;
void foo() {}
as being a redefinition.
llvm-svn: 131013
2011-05-06 20:44:56 +00:00
Eli Friedman
2518f8376d
Make the logic for determining function alignment more explicit. No functionality change.
...
llvm-svn: 131012
2011-05-06 20:34:06 +00:00
Johnny Chen
44932b6805
For a test with unexpected success status, we also dump its session info into a unique file.
...
llvm-svn: 131011
2011-05-06 20:30:22 +00:00
Tobias Grosser
d5a7bfc51d
ScopInfo: Do not return reference to member variable 'domain'.
...
Instead of returning a pointer to the domain, we return a new copy of it. This
is safer, as we do not give access to internal objects. It is also not
expensive, as isl will just increment a reference counter.
llvm-svn: 131010
2011-05-06 19:52:19 +00:00
Tobias Grosser
69f8514cb7
Dependences: Add interface to retrieve dependences.
...
llvm-svn: 131009
2011-05-06 19:52:09 +00:00
Eli Friedman
7a78f66145
Use array_lengthof. No functional change.
...
llvm-svn: 131008
2011-05-06 19:50:10 +00:00
Jakob Stoklund Olesen
57c8f58aeb
Iterate backwards over debug locations when splitting them so they can be safely erased.
...
This should unbreak dragonegg-i386-linux and build-self-4-mingw32.
llvm-svn: 131007
2011-05-06 19:31:19 +00:00
Jim Grosbach
59ddb73d47
Improve diagnostics for some parse errors. Not asserting when a user input
...
error is detected is a good thing.
llvm-svn: 131005
2011-05-06 18:47:45 +00:00
Jim Grosbach
763ac0397e
ParseFile() may throw, so extend the try/catch to handle that.
...
llvm-svn: 131004
2011-05-06 18:39:28 +00:00
Jim Ingham
dc3d8ffbe9
Make the log message & setter match for "dyld/shlib". The "ListLogCategories" output should really be auto-generated from the settings so you can't make this sort of mistake...
...
llvm-svn: 131003
2011-05-06 18:34:33 +00:00
Galina Kistanova
a335f5aeeb
Move few target-dependant tests to appropriate directories.
...
llvm-svn: 131002
2011-05-06 18:24:46 +00:00
Andrew Trick
84f9ad9bf2
Typo: Reviewed by Alistair.
...
llvm-svn: 131001
2011-05-06 18:14:32 +00:00
Eli Friedman
409943efcb
Don't emit nsw flags for vector operations; there's basically no benefit, and a lot of downside (like PR9850, which is about clang's xmmintrin.h making an unexpected transformation on an expression involving _mm_add_epi32).
...
llvm-svn: 131000
2011-05-06 18:04:18 +00:00
Rafael Espindola
20ce0c0ce0
Pass -disable-cfi to llc.
...
llvm-svn: 130999
2011-05-06 18:01:58 +00:00
Jakob Stoklund Olesen
f8da028895
Update LiveDebugVariables after live range splitting.
...
After a virtual register is split, update any debug user variables that resided
in the old register. This ensures that the LiveDebugVariables are still correct
after register allocation.
This may create DBG_VALUE instructions that place a user variable in a register
in parts of the function and in a stack slot in other parts. DwarfDebug
currently doesn't support that.
llvm-svn: 130998
2011-05-06 18:00:02 +00:00
Jakob Stoklund Olesen
c86fe05923
Use TargetMachine hooks to properly print debug variable locations.
...
llvm-svn: 130997
2011-05-06 17:59:59 +00:00
Jakob Stoklund Olesen
6cc4e4ddd0
Also count identity copies.
...
llvm-svn: 130996
2011-05-06 17:59:57 +00:00
Rafael Espindola
ac893d6898
Pass -disable-cfi.
...
llvm-svn: 130995
2011-05-06 17:44:58 +00:00
Eli Friedman
2b23ce981d
Fix a couple of comments.
...
llvm-svn: 130994
2011-05-06 17:34:05 +00:00
Eli Friedman
49a94b1c7c
Add an implementation of thunks for varargs methods. The implementation is a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 .
...
llvm-svn: 130993
2011-05-06 17:27:27 +00:00
Andrew Trick
aab77fe574
Post-RA scheduler compile time fix. Quadratic computation of DAG node depth.
...
The post-ra scheduler was explicitly updating the depth of a node's
successors after scheduling it, regardless of whether the successor
was ready. This is quadratic for DAGs with transitively redundant
edges. I simply removed the useless update of depth, which is lazilly
computed later.
Fixes <rdar://problem/9044332> compiler takes way too long to build TextInput.
llvm-svn: 130992
2011-05-06 17:09:08 +00:00
Devang Patel
17b532728b
Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp
...
llvm-svn: 130991
2011-05-06 16:57:54 +00:00
Douglas Gregor
998caead70
Introduce a new libclang parsing flag,
...
CXTranslationUnit_NestedMacroInstantiations, which indicates whether
we want to see "nested" macro instantiations (e.g., those that occur
inside other macro instantiations) within the detailed preprocessing
record. Many clients (e.g., those that only care about visible tokens)
don't care about this information, and in code that uses preprocessor
metaprogramming, this information can have a very high cost.
Addresses <rdar://problem/9389320>.
llvm-svn: 130990
2011-05-06 16:33:08 +00:00
Rafael Espindola
705d25a1f4
Nothing else uses this label.
...
llvm-svn: 130989
2011-05-06 15:44:29 +00:00
Rafael Espindola
6e4fa20efb
Yet more dead code.
...
llvm-svn: 130988
2011-05-06 15:31:55 +00:00
Rafael Espindola
d06c2c1b81
Update comments.
...
llvm-svn: 130987
2011-05-06 15:28:56 +00:00
Axel Naumann
bd26a58538
Reset the emitted initializers.
...
This enables incremental codegen, where the initializer array can be removed from the module, such that only new initializers will be emitted and run.
llvm-svn: 130986
2011-05-06 15:24:04 +00:00
Rafael Espindola
4bfa978ca5
More dead code elimination.
...
llvm-svn: 130985
2011-05-06 15:22:26 +00:00
Rafael Espindola
a716096677
Dead code elimination.
...
llvm-svn: 130984
2011-05-06 14:56:22 +00:00
Joerg Sonnenberger
ef317a27ff
Move logic for passing down -mrelax-all / -relax-all into a common
...
function. Extend the logic to check if the input was compiled.
Use -relax-all as default only if -O0 is used for compilation.
Fixes bug 9290.
llvm-svn: 130983
2011-05-06 14:35:16 +00:00
Anders Carlsson
47061ee5bc
Warn when trying to call a pure virtual member function in a class from the class constructor/destructor. Fixes PR7966.
...
llvm-svn: 130982
2011-05-06 14:25:31 +00:00
Joerg Sonnenberger
5fe4a7dc96
Rename ContainsCompileAction to ContainsCompileOrAssembleAction to
...
properly reflect its behavior.
llvm-svn: 130981
2011-05-06 14:05:11 +00:00
Justin Holewinski
11d70b6b32
PTX: add PTX 2.3 language target
...
Patch by Wei-Ren Chen
llvm-svn: 130980
2011-05-06 11:40:36 +00:00
Duncan Sands
a071c82900
Fix PR9820: a read-only call differs from a load in that a load doesn't
...
return the pointer being dereferenced, it returns the pointee, but a call
might return the pointer itself.
llvm-svn: 130979
2011-05-06 10:30:37 +00:00
Eli Friedman
5401962643
Re-revert r130877; it's apparently causing a regression on 197.parser,
...
possibly related to cbnz formation.
llvm-svn: 130977
2011-05-06 05:23:07 +00:00
Hongbin Zheng
94c5df16e2
ScopDetection: Remember the functions generated by backend in a pointer set, so we
...
do not re-generate code for these functions.
llvm-svn: 130975
2011-05-06 02:38:20 +00:00
Alexis Hunt
5dafebc89f
Do defaulted constructors properly.
...
Explictly defaultedness is correctly reflected on the AST, but there are
no changes to how that affects the definition of functions or much else
really.
llvm-svn: 130974
2011-05-06 01:42:00 +00:00
Nick Kledzik
f9ad245c90
change RC_BUILDIT to RC_XBS for detecting Apple build environment
...
llvm-svn: 130970
2011-05-06 01:13:20 +00:00
Alexis Hunt
58dad7d978
Revert r130912 in order to approach defaulted functions from the other
...
direction and not introduce things in the wrong place three different
times.
llvm-svn: 130968
2011-05-06 00:11:07 +00:00
Nick Lewycky
a7028848a1
The computation of string length is not that complicated. Fix it, again. :)
...
llvm-svn: 130967
2011-05-05 23:52:18 +00:00
Greg Clayton
b2dcc36c05
Added the ability to cast pointer types to another type, no matter what the
...
ValueObject is, as long as the ValueObject that is being asked to be casted
is a pointer itself.
llvm-svn: 130966
2011-05-05 23:32:56 +00:00
Johnny Chen
3f620ed8ab
Comment.
...
llvm-svn: 130965
2011-05-05 23:28:17 +00:00
Rafael Espindola
bb237c72a6
Remove DwarfTableException.
...
llvm-svn: 130964
2011-05-05 23:19:54 +00:00
Johnny Chen
87e8dd1077
Add comment for self.child_in_script_interpreter.
...
llvm-svn: 130963
2011-05-05 23:18:53 +00:00
Richard Smith
14034026d6
Slight tweak to alias template error handling: don't guess that a template-id in an alias declaration was meant to be a specialization. Use a generic, but more accurate, diagnostic.
...
llvm-svn: 130961
2011-05-05 22:36:10 +00:00
Johnny Chen
b79646cb2e
Use standard lldb enum -- lldb.eStopReasonBreakpoint.
...
llvm-svn: 130960
2011-05-05 22:17:31 +00:00
Rafael Espindola
ec0a3a0bbf
Remove the DwarfTable enum.
...
llvm-svn: 130959
2011-05-05 22:14:31 +00:00
Richard Smith
e3a5ff1508
Update www: we now mangle references to function parameters properly. Also, this is really more a decltype issue rather than a late-specified return type issue.
...
llvm-svn: 130958
2011-05-05 22:07:51 +00:00
Devang Patel
1ff74141bf
In debug output, clearly list new instructions without DebugLoc.
...
llvm-svn: 130957
2011-05-05 22:05:57 +00:00
Fariborz Jahanian
30aa4aa4ae
type of last arg of objc_assign_ivar is ptrdiff_t.
...
// rdar://9362887
llvm-svn: 130956
2011-05-05 22:00:38 +00:00