Devang Patel
244a649764
Construct subprogram DIEs using DebugInfo.
...
llvm-svn: 61772
2009-01-05 23:21:35 +00:00
Devang Patel
245a73ac16
Construct global variable DIEs using DebugInfo.
...
llvm-svn: 61771
2009-01-05 23:11:11 +00:00
Chris Lattner
610c87cad6
rename these tests to match the attribute.
...
llvm-svn: 61770
2009-01-05 23:10:19 +00:00
Chris Lattner
933d5ffc11
Optimize stringification a bit to avoid std::string thrashing and
...
avoid the version of Preprocessor::getSpelling that returns an
std::string.
llvm-svn: 61769
2009-01-05 23:04:18 +00:00
Devang Patel
0479d7647f
Construct compile unit dies using DebugInfo.
...
llvm-svn: 61768
2009-01-05 23:03:32 +00:00
Dan Gohman
c26da71654
Fix a thinko in the grammar for thread_local variables.
...
llvm-svn: 61767
2009-01-05 23:03:03 +00:00
Daniel Dunbar
0d2bfec51d
Remainder is only valid on integer vector operands.
...
Improve ext vector test case.
llvm-svn: 61766
2009-01-05 22:55:36 +00:00
Bill Wendling
f9b5ba7bcb
Revert r61415 and r61484. Duncan was correct that these weren't needed.
...
llvm-svn: 61765
2009-01-05 22:53:45 +00:00
Daniel Dunbar
8f8e40a324
Back out code for handling VectorType's in getFloatingRank.
...
llvm-svn: 61764
2009-01-05 22:44:35 +00:00
Daniel Dunbar
060d5e248e
Use CheckVectorOperands when % is applied to a vector type.
...
llvm-svn: 61763
2009-01-05 22:42:10 +00:00
Dan Gohman
52d4d8244b
Don't call setDepthDirty/setHeightDirty when adding an edge
...
with latency 0, since it doesn't affect the depth or height.
llvm-svn: 61762
2009-01-05 22:40:26 +00:00
Devang Patel
ced6524437
Extract source location info from DebugInfo.
...
Add methods to add source location info in a DIE.
llvm-svn: 61761
2009-01-05 22:35:52 +00:00
Daniel Dunbar
a1f3441d50
Implement getFloatingRank() for extended vectors.
...
- I'm not sure this is appropriate, but it seems reasonable to be
able to call getFloatingRank on anything which isFloatingType().
llvm-svn: 61758
2009-01-05 22:14:37 +00:00
Devang Patel
c0a190085d
Add type DIEs using DebugInfo.
...
llvm-svn: 61757
2009-01-05 21:47:57 +00:00
Duncan Sands
cd6f51cb62
Add a note about passing MVT::Other to getSetCCResultType.
...
llvm-svn: 61756
2009-01-05 21:33:06 +00:00
Bill Wendling
2012d84f01
Strength test.
...
llvm-svn: 61755
2009-01-05 21:27:59 +00:00
Duncan Sands
582c53d147
Teach the internalize pass to also internalize
...
global aliases.
llvm-svn: 61754
2009-01-05 21:24:45 +00:00
Duncan Sands
8d65f3690e
When checking if an Argument escapes, check if
...
the argument is marked nocapture - no need to
analyze the argument if the answer is already
known!
llvm-svn: 61753
2009-01-05 21:19:53 +00:00
Evan Cheng
8804293fe9
Find loop back edges only after empty blocks are eliminated.
...
llvm-svn: 61752
2009-01-05 21:17:27 +00:00
Chris Lattner
84434a692b
testcase for bill's patch.
...
llvm-svn: 61751
2009-01-05 21:07:34 +00:00
Sebastian Redl
1654ef0187
Silence a GCC warning
...
llvm-svn: 61747
2009-01-05 20:53:53 +00:00
Sebastian Redl
baad4e765f
PODness and Type Traits
...
Make C++ classes track the POD property (C++ [class]p4)
Track the existence of a copy assignment operator.
Implicitly declare the copy assignment operator if none is provided.
Implement most of the parsing job for the G++ type traits extension.
Fully implement the low-hanging fruit of the type traits:
__is_pod: Whether a type is a POD.
__is_class: Whether a type is a (non-union) class.
__is_union: Whether a type is a union.
__is_enum: Whether a type is an enum.
__is_polymorphic: Whether a type is polymorphic (C++ [class.virtual]p1).
llvm-svn: 61746
2009-01-05 20:52:13 +00:00
Duncan Sands
52e5deece5
Not having an aliasee is a theoretical possibility.
...
llvm-svn: 61745
2009-01-05 20:47:56 +00:00
Duncan Sands
821d13cf78
Format more neatly.
...
llvm-svn: 61744
2009-01-05 20:39:50 +00:00
Duncan Sands
d24b93f339
Remove trailing spaces.
...
llvm-svn: 61743
2009-01-05 20:38:27 +00:00
Duncan Sands
f5dbbae4f4
Delete unused global aliases with internal linkage.
...
In fact this also deletes those with linkonce linkage,
however this is currently dead because for the moment
aliases aren't allowed to have this linkage type.
llvm-svn: 61742
2009-01-05 20:37:33 +00:00
Devang Patel
1054a852b2
Construct composite type DIE using DebugInfo.
...
llvm-svn: 61741
2009-01-05 19:55:51 +00:00
Devang Patel
57edbbf1b0
Add classof() methods so that dwarf writer can decide what DIDescriptor is in its hand.
...
llvm-svn: 61740
2009-01-05 19:55:07 +00:00
Daniel Dunbar
6e01600398
Add prototype ccc rewrite.
...
- Entry point is tools/ccc/xcc until we are a functional replacement
for ccc.
This is highly experimental (FIXME/LOC ratio of 3.4%), quite crufty,
and barely usable (and then only on my specific Darwin). However, many
of the right ideas are present, and it already fixes a number of
things gcc gets wrong.
The major missing component is argument translation for tools
(translating driver arguments into cc1/ld/as/etc. arguments). This is
a large part of the driver functionality and will probably double the
LOC, but my hope is that the current architecture is relatively
stable.
Documentation & motivation to follow soon...
llvm-svn: 61739
2009-01-05 19:53:30 +00:00
Douglas Gregor
3bdc895818
Add forgotten test case for linkage specifications
...
llvm-svn: 61737
2009-01-05 19:50:09 +00:00
Dan Gohman
d1810a1c5a
Add <climits>, to get the definition of CHAR_BIT. This should fix
...
build errors.
llvm-svn: 61736
2009-01-05 19:47:30 +00:00
Douglas Gregor
07665a69e8
Introduce support for "transparent" DeclContexts, which are
...
DeclContexts whose members are visible from enclosing DeclContexts up
to (and including) the innermost enclosing non-transparent
DeclContexts. Transparent DeclContexts unify the mechanism to be used
for various language features, including C enumerations, anonymous
unions, C++0x inline namespaces, and C++ linkage
specifications. Please refer to the documentation in the Clang
internals manual for more information.
Only enumerations and linkage specifications currently use transparent
DeclContexts.
Still to do: use transparent DeclContexts to implement anonymous
unions and GCC's anonymous structs extension, and, later, the C++0x
features. We also need to tighten up the DeclContext/ScopedDecl link
to ensure that every ScopedDecl is in a single DeclContext, which
will ensure that we can then enforce ownership and reduce the memory
footprint of DeclContext.
llvm-svn: 61735
2009-01-05 19:45:36 +00:00
Chris Lattner
07ebf302e5
simplify Preprocessor::getSpelling now that identifiers carry around
...
their length.
llvm-svn: 61734
2009-01-05 19:44:41 +00:00
Dan Gohman
dbc6c31f62
TargetLowering.h #includes SelectionDAGNodes.h, so it doesn't need its
...
own OpActionsCapacity magic number; it can just use ISD::BUILTIN_OP_END,
as long as it takes care to round up when needed.
llvm-svn: 61733
2009-01-05 19:40:39 +00:00
Dan Gohman
49c42d5f57
Delete an unused variable and simplify the code.
...
llvm-svn: 61732
2009-01-05 19:31:28 +00:00
Devang Patel
2c2eeabb54
s/ConstructType/ConstructTypeDIE/g
...
llvm-svn: 61731
2009-01-05 19:07:53 +00:00
Chris Lattner
b0794619e6
make llvm-ld smart enough to link against native libraries that are
...
not in system library directories by checking -L paths as well.
Patch by Axel Naumann!
llvm-svn: 61730
2009-01-05 19:01:32 +00:00
Devang Patel
5024d377f2
Construct stuct field DIEs.
...
llvm-svn: 61729
2009-01-05 18:59:44 +00:00
Chris Lattner
1c8dd9be79
fix wordo
...
llvm-svn: 61728
2009-01-05 18:56:52 +00:00
Steve Naroff
f6bbfa3424
Remove redundant ValID::ValID:: scoping (doesn't compile on Windows).
...
llvm-svn: 61727
2009-01-05 18:48:47 +00:00
Devang Patel
c0adc6b9bc
Construct enumerator DIE using DebugInfo.
...
llvm-svn: 61726
2009-01-05 18:38:38 +00:00
Chris Lattner
2ed06b4276
Reject PR3281:accepted03.ll with:
...
llvm-as: accepted03.ll:1:35: invalid unresolved type up reference
declare void @r({ \7, opaque, \10 } %su)
^
llvm-svn: 61725
2009-01-05 18:34:07 +00:00
Devang Patel
758e7d7781
Construct array/vector type DIEs using DebugInfo.
...
llvm-svn: 61724
2009-01-05 18:33:01 +00:00
Owen Anderson
96fce00dc0
Get rid of sentinel insertion in interval reconstruction. It just masked the
...
problem, rather than fixing it. The problem has now been fixed the right way.
llvm-svn: 61723
2009-01-05 18:32:26 +00:00
Chris Lattner
dc83a54567
reject PR3281:crash11.ll with:
...
llvm-as: crash11.ll:2:27: function may not return return opaque type
"xw" = tail call opaque @608(label %31)
^
llvm-svn: 61722
2009-01-05 18:27:50 +00:00
Chris Lattner
8f57d29e0c
reject PR3281:crash10.ll with:
...
llvm-as: crash10.ll:3:35: floating point constant does not have type 'ppc_fp128'
"dumy" = fcmp ult ppc_fp128 "j",9209.4
^
llvm-svn: 61721
2009-01-05 18:24:23 +00:00
Chris Lattner
651252b019
reject PR3281:crash09.ll with this diagnostic:
...
llvm-as: crash09.ll:3:1: self referential type is invalid
type %0
^
llvm-svn: 61720
2009-01-05 18:19:46 +00:00
Chris Lattner
5261c8923f
allow opaque undefs. This resolves PR3282 and fixes
...
test/Assembler/2005-05-05-OpaqueUndefValues.ll
llvm-svn: 61719
2009-01-05 18:12:21 +00:00
Devang Patel
649d46396f
Now, getTag() is used by DwarfWriter.
...
llvm-svn: 61718
2009-01-05 18:06:21 +00:00
Dan Gohman
906152a20f
Tidy up #includes, deleting a bunch of unnecessary #includes.
...
llvm-svn: 61715
2009-01-05 17:59:02 +00:00