Douglas Gregor
8bce25f2fe
"The attached patch moves AttributeList::addAttributeList outside the
...
class so as to accomodate one or both parameters being NULL, " from Sean Hunt!
llvm-svn: 80683
2009-09-01 17:10:19 +00:00
Chris Lattner
b5557a7b42
random code cleanups, no functionality change.
...
llvm-svn: 80682
2009-09-01 17:09:55 +00:00
Fariborz Jahanian
1a50477385
Fixed a property getter ir-gen crash.
...
llvm-svn: 80681
2009-09-01 17:02:21 +00:00
Ted Kremenek
1543d133db
Update CMake files.
...
llvm-svn: 80680
2009-09-01 17:01:02 +00:00
Douglas Gregor
32e2c8472e
Fix a crasher involving template instantiation of non-dependent
...
expressions making use of an overloaded operator. Thanks for the test
case, Anders!
llvm-svn: 80679
2009-09-01 16:58:52 +00:00
Daniel Dunbar
6cdf83c192
Add driver support for -emit-ast and AST compilation steps.
...
- <rdar://problem/7185031> Add 'clang' option '-emit-ast'
llvm-svn: 80678
2009-09-01 16:57:46 +00:00
Jim Grosbach
9372f4d7d5
Simply LSDA lable emission to use a direct special-case output instead of
...
EmitLabel()
llvm-svn: 80677
2009-09-01 16:43:35 +00:00
Douglas Gregor
770a532fa1
Tip-toe around strict-aliasing violation. Fixes PR4061.
...
llvm-svn: 80674
2009-09-01 16:13:00 +00:00
Steve Naroff
69b10fd2c5
Add explicit "blind" client data to callback function (since we aren't using blocks).
...
llvm-svn: 80673
2009-09-01 15:55:40 +00:00
Douglas Gregor
810f7a9d95
Move C++ test over to CodeGenCXX, since it requires CodeGen to reproduce
...
llvm-svn: 80672
2009-09-01 15:39:05 +00:00
Duncan Sands
1f8303bfce
Do not manipulate invalid iterators. This fixes the
...
llvm-gcc build when expensive checking is turned on.
llvm-svn: 80671
2009-09-01 15:13:02 +00:00
Sanjiv Gupta
a19e971f0c
Further refactoring of PIC16 Obj file code.
...
llvm-svn: 80670
2009-09-01 10:47:31 +00:00
Benjamin Kramer
a43ad3ddbd
Update CMakeLists.
...
llvm-svn: 80669
2009-09-01 10:24:10 +00:00
Andreas Neustifter
eb5a9d34d6
Preparation for Optimal Edge Profiling:
...
Add statistics for regular edge profiling, this enables the comparation of the
number of edges inserted by regular and optimal edge profiling.
llvm-svn: 80668
2009-09-01 10:08:39 +00:00
Andreas Neustifter
8bcd5dcf5d
Preparation for Optimal Edge Profiling:
...
Optimal edge profiling is only possible when blocks with no predecessors get an
virtual edge (BB,0) that counts the execution frequencies of this
function-exiting blocks.
This patch makes the necessary changes before actually enabling optimal edge profiling.
llvm-svn: 80667
2009-09-01 10:06:05 +00:00
Andreas Neustifter
b683b6e2ce
Preparation for Optimal Edge Profiling:
...
This adds a pass to verify the current profile against the flow conditions.
This is very helpful when later on trying to perserve the profiling information
during all passes.
llvm-svn: 80666
2009-09-01 08:48:42 +00:00
Chris Lattner
026e34c4f7
testcase for PR3601
...
llvm-svn: 80664
2009-09-01 06:33:49 +00:00
Chris Lattner
063d06527e
Change CallGraphNode to maintain it's Function as an AssertingVH
...
for sanity. This didn't turn up any bugs.
Change CallGraphNode to maintain its "callsite" information in the
call edges list as a WeakVH instead of as an instruction*. This fixes
a broad class of dangling pointer bugs, and makes CallGraph have a number
of useful invariants again. This fixes the class of problem indicated
by PR4029 and PR3601.
llvm-svn: 80663
2009-09-01 06:31:31 +00:00
Anders Carlsson
bcec05c9fd
Don't assume that a base is always a RecordType, it can also be a TemplateSpecializationType. Also, make sure to get the instantiated union member.
...
llvm-svn: 80662
2009-09-01 06:22:14 +00:00
Anders Carlsson
62215c4fb5
Add pretty stack traces when instantiating functions and static data members.
...
llvm-svn: 80661
2009-09-01 05:12:24 +00:00
Devang Patel
aa57e1085e
Add virtual destructor.
...
llvm-svn: 80660
2009-09-01 05:04:28 +00:00
Anders Carlsson
17dc7e2007
Handle member initializers that point to fields in anonymous structs.
...
llvm-svn: 80659
2009-09-01 04:31:02 +00:00
Bob Wilson
ff69320427
Add test for vld{234}_lane instructions.
...
llvm-svn: 80658
2009-09-01 04:27:10 +00:00
Anders Carlsson
5da848427a
Don't assert when instantiating member references to fields in anonymous structs.
...
llvm-svn: 80657
2009-09-01 04:26:58 +00:00
Bob Wilson
da9817cddd
Generate code for vld{234}_lane intrinsics.
...
llvm-svn: 80656
2009-09-01 04:26:28 +00:00
Eli Friedman
1c277d0fe8
PR4836, part 2: CodeGen for __builtin_isnan.
...
llvm-svn: 80655
2009-09-01 04:19:44 +00:00
Bob Wilson
33b408a10f
Fix pr4843: When an instruction has multiple destination registers that are
...
tied to different source registers, the TwoAddressInstructionPass needs to
be smarter. Change it to check before replacing a source register whether
that source register is tied to a different destination register, and if so,
defer handling it until a subsequent iteration.
llvm-svn: 80654
2009-09-01 04:18:40 +00:00
Daniel Dunbar
4fa0595b94
llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).
...
llvm-svn: 80652
2009-09-01 04:09:03 +00:00
Jim Grosbach
f09e8d5497
SJLJ is arm/darwin only for now. force the triple for the test
...
llvm-svn: 80651
2009-09-01 02:34:49 +00:00
Jim Grosbach
345a5ae6e4
Fix compiler warnings
...
llvm-svn: 80650
2009-09-01 02:05:03 +00:00
Jim Grosbach
20eac92d88
Clean up LSDA name generation and use for SJLJ exception handling. This
...
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.
Objective C++ code could generate function names that broke the previous
scheme. This fixes that.
llvm-svn: 80649
2009-09-01 01:57:56 +00:00
Devang Patel
b1bff47718
Introduce DILocation.
...
llvm-svn: 80648
2009-09-01 01:14:15 +00:00
Devang Patel
71b42f2d40
Add getDirectory() and getFilename() interface to DIScope.
...
llvm-svn: 80647
2009-09-01 00:53:21 +00:00
Douglas Gregor
84f14dd674
Preliminary AST representation and semantic analysis for
...
explicitly-specified template argument lists in member reference
expressions, e.g.,
x->f<int>()
llvm-svn: 80646
2009-09-01 00:37:14 +00:00
Daniel Dunbar
b1b2016b83
Force triple for this test (non-fragile ABI is default on x86_64-apple-darwin9).
...
llvm-svn: 80645
2009-09-01 00:36:20 +00:00
Ted Kremenek
3aff920676
Sentence-case bug category.
...
llvm-svn: 80644
2009-09-01 00:17:12 +00:00
Douglas Gregor
f4b34ba326
Remember to write the qualifier of a MemberExpr to the PCH file when we get to C++ PCH
...
llvm-svn: 80643
2009-08-31 23:44:04 +00:00
Douglas Gregor
f405d7e6f1
Eliminate CXXAdornedMemberExpr entirely. Instead, optionally allocate
...
space within the MemberExpr for the nested-name-specifier and its
source range. We'll do the same thing with explicitly-specified
template arguments, assuming I don't flip-flop again.
llvm-svn: 80642
2009-08-31 23:41:50 +00:00
Devang Patel
b2de5fa689
Subprogram is a scope. Derive DISubprogram from DIScope.
...
llvm-svn: 80637
2009-08-31 22:47:13 +00:00
John McCall
759e32bdc6
Fix bug 4784 and allow friend declarations to properly extend
...
existing declaration chains.
llvm-svn: 80636
2009-08-31 22:39:49 +00:00
Devang Patel
124095bb18
Rename DIBlock as DILexicalBlock.
...
llvm-svn: 80634
2009-08-31 22:00:32 +00:00
Devang Patel
869529c58c
Rename DIBlock as DILexicalBlock.
...
llvm-svn: 80633
2009-08-31 22:00:15 +00:00
Dan Gohman
dba696afc0
Don't use an iterator which is potentially invalidated.
...
llvm-svn: 80632
2009-08-31 21:58:28 +00:00
Bob Wilson
e98396d3fc
Use early exit and reduce indentation.
...
llvm-svn: 80631
2009-08-31 21:54:55 +00:00
Bob Wilson
53b6a02dd1
If the tied registers are already the same, there is no need to change
...
them. Move the code to make that change inside the conditional.
llvm-svn: 80630
2009-08-31 21:54:16 +00:00
Richard Osborne
e7717e7b2a
Add triple parsing support for XCore.
...
llvm-svn: 80629
2009-08-31 21:51:36 +00:00
Douglas Gregor
96ee789d33
Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will
...
also be adding explicit template arguments as an additional
"adornment". No functionality change.
llvm-svn: 80628
2009-08-31 21:41:48 +00:00
Devang Patel
e4cfcc3081
Derive DICompileUnit from DIScope.
...
llvm-svn: 80627
2009-08-31 21:34:44 +00:00
Caroline Tice
c87c1e2cfd
Add flag to mark structs for Apple Block "byref" variables; also add code to
...
modify the type and location debug information for these variables to match the
programmer's expectations.
llvm-svn: 80625
2009-08-31 21:19:37 +00:00
Douglas Gregor
fbc1823451
Add parsing for references to member function templates with explicit
...
template argument lists, e.g., x.f<int>().
Semantic analysis will be a separate commit.
llvm-svn: 80624
2009-08-31 21:16:32 +00:00