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
Devang Patel
d6141e1db2
Remove little used statistical counter.
...
llvm-svn: 130955
2011-05-05 22:00:08 +00:00
Eli Friedman
8a20e66926
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift.
...
llvm-svn: 130954
2011-05-05 21:59:18 +00:00
Richard Smith
3f1b5d077b
Implement support for C++0x alias templates.
...
llvm-svn: 130953
2011-05-05 21:57:07 +00:00
Rafael Espindola
bc8e3f8c45
Move PPC Linux to CFI.
...
llvm-svn: 130951
2011-05-05 21:34:33 +00:00
Nick Lewycky
d58fe3c55e
Fix typo. No functional change.
...
llvm-svn: 130949
2011-05-05 21:27:14 +00:00
Fariborz Jahanian
9f1071831f
__alignof attribute on the field must consider
...
packed attribute on the field. //rdar://9217290
llvm-svn: 130948
2011-05-05 21:19:14 +00:00
Rafael Espindola
59b6bfdbc6
Implement a really simple DwarfSjLjException.
...
llvm-svn: 130947
2011-05-05 20:48:31 +00:00
Douglas Gregor
af44c781a7
When the environment variable LIBCLANG_RESOURCE_USAGE is set, teach
...
libclang to emit information about resource usage after parsing, code
completion, etc.
llvm-svn: 130946
2011-05-05 20:27:22 +00:00
Eli Friedman
cb59baaa20
PR9849: Fix _mm_setr_pi32 and friends to actually work correctly. They broke with the MMX rewrite a while back.
...
llvm-svn: 130945
2011-05-05 20:21:54 +00:00
Rafael Espindola
240c96e2ca
List all exception types in a switch.
...
llvm-svn: 130944
2011-05-05 19:48:34 +00:00
Andrew Trick
3dc73aae5e
ARM post RA scheduler compile time fix.
...
BuildSchedGraph was quadratic in the number of calls in the basic
block. After this fix, it keeps only a single call at the top of the
DefList so compile time doesn't blow up on large blocks. This reduces
postRA sched time on an external test case from 81s to 0.3s. Although
r130800 (reduced ARM register alias defs) also partially fixes the
issue by reducing the constant overhead of checking call interference
by an order of magnitude.
Fixes <rdar://problem/7662664> very poor compile time with post RA scheduling.
llvm-svn: 130943
2011-05-05 19:32:21 +00:00
Andrew Trick
24b1c48514
whitespace
...
llvm-svn: 130942
2011-05-05 19:24:06 +00:00
Daniel Dunbar
6cb7f64e8b
tests: Force a triple in this test (so uint128 is present).
...
llvm-svn: 130941
2011-05-05 18:54:06 +00:00
Johnny Chen
ae9639aeb3
Change the process iteration pattern to a more concise:
...
for thread in process:
print >> output, print_stacktrace(thread, string_buffer=True)
llvm-svn: 130940
2011-05-05 18:50:56 +00:00
Nick Kledzik
7db91cefb2
add support for setjmp/longjmp based exceptions
...
llvm-svn: 130938
2011-05-05 18:45:41 +00:00
Rafael Espindola
a4982bddf3
Don't produce a __debug_frame.
...
I tested both gdb on a bootstrapped clang and and the gdb testsuite on OS X (snow leopard)
and both are happy using __eh_frame.
llvm-svn: 130937
2011-05-05 18:43:39 +00:00
Galina Kistanova
b93a130120
Many LLVM tests relies on standard output stream be in the binary mode. Which is not always the case (on Windows in particular). The patch adds a test to verify that the standard output stream is actually in the binary mode.
...
llvm-svn: 130936
2011-05-05 18:40:27 +00:00
Owen Anderson
68b6b0efb0
Allow FastISel of three-register-operand instructions.
...
llvm-svn: 130934
2011-05-05 17:59:04 +00:00
Devang Patel
73bc172493
If debug info for inlined function is missing then handle it gracefully.
...
llvm-svn: 130933
2011-05-05 17:54:26 +00:00