Jim Grosbach
969910b3e8
use lower case for readability
...
llvm-svn: 87054
2009-11-13 01:17:22 +00:00
Ted Kremenek
aedb7434c8
Add clang-cc option "-analyzer-experimental-checks" to enable experimental path-sensitive checks. The idea is to separate "barely working" or "skunkworks" checks from ones that should always run. Later we need more fine-grain checker control.
...
llvm-svn: 87053
2009-11-13 01:15:47 +00:00
Daniel Dunbar
1e886ebe8c
Move -target-{triple,abi} options into FrontendOptions.
...
llvm-svn: 87051
2009-11-13 01:02:19 +00:00
Daniel Dunbar
4a1f60f777
Move code completion options to clang-cc
...
llvm-svn: 87050
2009-11-13 01:02:10 +00:00
Daniel Dunbar
3f75f5ddcb
Update test.
...
llvm-svn: 87049
2009-11-13 01:01:58 +00:00
Chris Lattner
956d71a63a
add a fixme, inheriting from PointerIntPair is gross :)
...
llvm-svn: 87048
2009-11-13 00:57:01 +00:00
David Greene
2f4c37425b
Fix a bootstrap failure.
...
Provide special isLoadFromStackSlotPostFE and isStoreToStackSlotPostFE
interfaces to explicitly request checking for post-frame ptr elimination
operands. This uses a heuristic so it isn't reliable for correctness.
llvm-svn: 87047
2009-11-13 00:29:53 +00:00
Daniel Dunbar
a5c3d989fb
Move FixItAtLocations into FrontendOptions
...
llvm-svn: 87046
2009-11-12 23:52:56 +00:00
Daniel Dunbar
eb51586a85
clang-cc: Keep Verbose option with HeaderSearchOptions, for now.
...
llvm-svn: 87045
2009-11-12 23:52:46 +00:00
Daniel Dunbar
f996c05d74
Add FrontendOptions, and starting moving clang-cc to it.
...
llvm-svn: 87044
2009-11-12 23:52:32 +00:00
Mike Stump
2b34bc5a96
Refine which vtbl is refernced in VTTs.
...
llvm-svn: 87043
2009-11-12 23:36:21 +00:00
Owen Anderson
e96b2111b1
Re-enable this code, since redundant PHIs are now being better nuked.
...
llvm-svn: 87042
2009-11-12 23:22:41 +00:00
Mike Stump
ca0de33113
Refine offsets into vtables for the VTT.
...
llvm-svn: 87041
2009-11-12 23:14:15 +00:00
Bill Wendling
c781d7a072
Simplify code a bit
...
llvm-svn: 87040
2009-11-12 23:13:08 +00:00
Mike Stump
8677bc27bf
Refine vtable pointers for secondary vtables inside VTTs to point to
...
the right base vtable. WIP.
llvm-svn: 87039
2009-11-12 22:56:32 +00:00
Douglas Gregor
9533e2803f
We need the definition of NamedDecl in DeclContextInternals.h, since Clang is type-checking the template definition more thoroughly
...
llvm-svn: 87037
2009-11-12 22:12:17 +00:00
Bill Wendling
e412064c4c
Refactor code that checks if it's a call to a "nounwind" function.
...
llvm-svn: 87036
2009-11-12 21:59:20 +00:00
Chris Lattner
5c89f4b4ef
use isInstructionTriviallyDead, as pointed out by Duncan
...
llvm-svn: 87035
2009-11-12 21:58:18 +00:00
David Greene
033d65581d
Do some cleanups suggested by Chris.
...
llvm-svn: 87034
2009-11-12 21:49:55 +00:00
Daniel Dunbar
5fb4e7553c
StringRef(const char*) should not be used to turn null pointers into empty
...
strings.
llvm-svn: 87031
2009-11-12 21:26:11 +00:00
David Greene
7cf326aed4
Set the ReloadReuse AsmPrinter flag where appropriate.
...
llvm-svn: 87030
2009-11-12 21:07:54 +00:00
Daniel Dunbar
c71bf467d5
Remove my Value.h build fix.
...
llvm-svn: 87029
2009-11-12 21:07:02 +00:00
David Greene
f3ecd97cd8
Fix a build error by providing a missing enum value.
...
llvm-svn: 87028
2009-11-12 21:04:19 +00:00
David Greene
be851acfb0
Make the MachineFunction argument of getFrameRegister const.
...
This also fixes a build error.
llvm-svn: 87027
2009-11-12 21:00:03 +00:00
David Greene
70fdd57dc1
Add hasLoadFromStackSlot and hasStoreToStackSlot to return whether a
...
machine instruction loads or stores from/to a stack slot. Unlike
isLoadFromStackSlot and isStoreFromStackSlot, the instruction may be
something other than a pure load/store (e.g. it may be an arithmetic
operation with a memory operand). This helps AsmPrinter determine when
to print a spill/reload comment.
This is only a hint since we may not be able to figure this out in all
cases. As such, it should not be relied upon for correctness.
Implement for X86. Return false by default for other architectures.
llvm-svn: 87026
2009-11-12 20:55:29 +00:00
Daniel Dunbar
22b75873b9
Attempt to unbreak LLVM build, David G. please check.
...
llvm-svn: 87025
2009-11-12 20:53:56 +00:00
Daniel Dunbar
5026bc3a86
Fix -Asserts warning.
...
llvm-svn: 87024
2009-11-12 20:53:43 +00:00
Bill Wendling
e3ae25b3d8
If there's more than one function operand to a call instruction, be conservative
...
and don't assume that the call doesn't throw. It would be nice if there were a
way to determine which is the callee and which is a parameter. In practice, the
architecture we care about normally only have one operand for a call instruction
(x86 and arm).
llvm-svn: 87023
2009-11-12 20:51:53 +00:00
David Greene
1fbe054450
Add a bool flag to StackObjects telling whether they reference spill
...
slots. The AsmPrinter will use this information to determine whether to
print a spill/reload comment.
Remove default argument values. It's too easy to pass a wrong argument
value when multiple arguments have default values. Make everything
explicit to trap bugs early.
Update all targets to adhere to the new interfaces..
llvm-svn: 87022
2009-11-12 20:49:22 +00:00
Mike Stump
2cefe38365
Fix the offset calculations for non-virtual bases with overrides.
...
Refine the VTT entries for virtual bases to refer to the complete
object's vtable instead of constructor vtables.
Refine the AddressPoint calculations for VTT entries for virtual bases.
llvm-svn: 87021
2009-11-12 20:47:57 +00:00
Benjamin Kramer
68e4945c03
Add compare_lower and equals_lower methods to StringRef. Switch all users of
...
StringsEqualNoCase (from StringExtras.h) to it.
llvm-svn: 87020
2009-11-12 20:36:59 +00:00
David Greene
81eb42d8ca
Make FixedStackPseudoSourceValue a first-class PseudoSourceValue by
...
making it visible to clients and adding LLVM-style cast capability.
This will be used by AsmPrinter to determine when to emit spill comments
for an instruction.
llvm-svn: 87019
2009-11-12 20:25:07 +00:00
David Greene
815863f157
Add AsmPrinter comment flags to machine instructions so that AsmPrinter
...
can emit extra information in comments.
llvm-svn: 87018
2009-11-12 20:21:09 +00:00
Fariborz Jahanian
eb80c98a72
Fix a code gen bug in i386-apple-darwin (objc fragile abi), sending
...
message to 'super'. Fixes radar 7205866.
llvm-svn: 87017
2009-11-12 20:14:24 +00:00
David Greene
33935767b9
Add comment flags so AsmPrinter can output additional information when
...
emitting comments. These flags carry semantic information not otherwise
easily derivable from the IR text.
llvm-svn: 87016
2009-11-12 20:13:34 +00:00
David Goodwin
da83f7d58b
Rename registers to break output dependencies in addition to anti-dependencies.
...
llvm-svn: 87015
2009-11-12 19:08:21 +00:00
Devang Patel
2904aa9f6e
"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.
...
llvm-svn: 87014
2009-11-12 19:02:56 +00:00
Daniel Dunbar
b0a1942196
Spell empty StringRef correctly (0 is a null StringRef, which is not the same).
...
llvm-svn: 87011
2009-11-12 18:40:12 +00:00
Douglas Gregor
49ba3cabdd
Recognize (and check) pointer-to-member template arguments that are
...
non-type template parameters or constants of pointer-to-member
type. Once checked, be sure to retain those pointer-to-member
constants as expressions if they are dependent, or as declarations if
they are not dependent.
llvm-svn: 87010
2009-11-12 18:38:13 +00:00
Dan Gohman
29271e7585
Mark DBG_LABEL, EH_LABEL, and GC_LABEL as not-duplicable, since
...
they really are not duplicable.
llvm-svn: 87009
2009-11-12 18:36:19 +00:00
Devang Patel
94f798c079
"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for locations and types.
...
llvm-svn: 87007
2009-11-12 18:21:39 +00:00
Benjamin Kramer
3628bdab14
Silence a warning on targets with unsigned chars.
...
llvm-svn: 87002
2009-11-12 17:59:45 +00:00
Devang Patel
6e98d7af22
Use getNameAsCString() instead of getName().data()
...
llvm-svn: 87001
2009-11-12 17:49:47 +00:00
Douglas Gregor
4e948ce769
When instantiating a reference to a non-type template parameter of pointer to
...
member type (e.g., T Class::*Member), build a pointer-to-member
constant expression. Previously, we we just building a simple
declaration reference expression, which meant that the expression was
not treated as a pointer to member.
llvm-svn: 87000
2009-11-12 17:40:13 +00:00
Jim Grosbach
5d57714e6c
Update TB[BH] layout optimization. Add support for moving the target block
...
to directly follow the jump table. Move the layout changes to prior to any
constant island handling.
llvm-svn: 86999
2009-11-12 17:25:07 +00:00
Chandler Carruth
bc55fe26c6
Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.
...
This resolves the layering violation where CodeGen depended on Frontend.
llvm-svn: 86998
2009-11-12 17:24:48 +00:00
Jim Grosbach
1025a4998b
Clean up testcase a bit. Simplify case blocks and adjust switch instruction to not take an undefined value as input.
...
llvm-svn: 86997
2009-11-12 17:19:09 +00:00
Anders Carlsson
9a1cd87d17
Set CK_BaseToDerived in TryStaticDowncast.
...
llvm-svn: 86996
2009-11-12 16:53:16 +00:00
Douglas Gregor
6051c8d344
Give CanQual<T> an implicit conversion to bool, so that it can be used
...
in "if" statements like:
if (CanQual<ReferenceType> RefType = T.getAs<ReferenceType>())
Thanks to Clang for pointing out this mistake :)
llvm-svn: 86995
2009-11-12 16:49:45 +00:00
Anders Carlsson
a70ad93f8a
Add a CK_BaseToDerived cast kind.
...
llvm-svn: 86994
2009-11-12 16:43:42 +00:00