Argyrios Kyrtzidis
73b85e30ed
castToDeclContext/castFromDeclContext are only required to be included in the class of decls that directly derive from DeclContext.
...
Their subclasses don't need them.
llvm-svn: 64632
2009-02-16 14:31:00 +00:00
Argyrios Kyrtzidis
9b7bd9bfc6
castToDeclContext/castFromDeclContext are not meant to be used directly; they are used indirectly by cast/dyn_cast.
...
All Decl <-> DeclContext casting should be done through cast/dyn_cast.
llvm-svn: 64631
2009-02-16 14:29:59 +00:00
Argyrios Kyrtzidis
afe24c8818
DeclContext had its "casting machinery" inside the class definition so that if a new declaration context Decl appeared, the necessary changes
...
would be in one place. Since, now, only DeclNodes.def needs to be modified, move things out-of-line and simplify the DeclContext class.
llvm-svn: 64630
2009-02-16 14:29:28 +00:00
Argyrios Kyrtzidis
ac152f1a1a
Make DeclContexts maintenance a bit easier.
...
-In DeclNodes.def, only mark as DeclContexts the top classes that directly derive from DeclContext. If the Decl has subclasses,
it should be marked with DECL_CONTEXT_BASE.
-Use DeclNodes.def to automate the DeclContext::classof and DeclContext::CastTo definitions.
llvm-svn: 64629
2009-02-16 14:28:33 +00:00
Ben Laurie
7b1c6c09f7
Untabify.
...
llvm-svn: 64628
2009-02-16 09:18:41 +00:00
Ted Kremenek
fa95ce412c
Do not register 'RangeConstraintManager' as the default ConstraintManager.
...
llvm-svn: 64627
2009-02-16 04:54:20 +00:00
Nick Lewycky
0f269cfdee
Fix typo caused by too much surfing, dudes...
...
llvm-svn: 64626
2009-02-16 04:26:53 +00:00
Dan Gohman
136aa1fb96
Delete this long-commented-out code. The situation it seems to have
...
been written for is no longer relevant with the elimination of
signed and unsigned types.
llvm-svn: 64625
2009-02-16 02:57:42 +00:00
Dan Gohman
73f794af6a
Rename IndVarsSimplify to IndVarSimplify, to be consistent with
...
the name used in the code that these tests are for.
llvm-svn: 64624
2009-02-16 00:56:15 +00:00
Dan Gohman
9cdfd44521
Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq.
...
Enhance instcombine to use the preferred field of
GetOrEnforceKnownAlignment in more cases, so that regular IR operations are
optimized in the same way that the intrinsics currently are.
llvm-svn: 64623
2009-02-16 00:44:23 +00:00
Dan Gohman
aaee6c9523
Don't assume that a left-shift of a value with one bit set will have
...
one bit set, because the bit may be shifted off the end. Instead,
just check for a constant 1 being shifted. This is still sufficient
to handle all the cases in test/CodeGen/X86/bt.ll. This fixes PR3583.
llvm-svn: 64622
2009-02-15 23:59:32 +00:00
Dan Gohman
f6ccacba36
MachineLICM now handles these cases.
...
llvm-svn: 64620
2009-02-15 23:24:52 +00:00
Nick Lewycky
dac78d87cb
Demonstrate the act of including multiple space-separated parameter attributes,
...
by request on IRC.
llvm-svn: 64619
2009-02-15 23:06:14 +00:00
Nick Lewycky
9178155206
Shoot! Remove this debugging line again!
...
llvm-svn: 64617
2009-02-15 22:50:17 +00:00
Nick Lewycky
b020e0d14c
Don't discard definitions of common symbols. Not sure if this is the right fix.
...
Before this change, the program:
int var;
int main(void) { return 0; }
when run under 'nm -g' would show 'U var' with the gold plugin and
'B var' with gcc.
llvm-svn: 64616
2009-02-15 22:49:17 +00:00
Nick Lewycky
8f4a097f15
Update the list of function annotations for nocapture. All of these came up
...
when I was looking at functions used by python.
Highlights include, better largefile support (64-bit file sizes on 32-bit
systems), fputs string is nocapture, popen/pclose added (popen being noalias
return), modf and frexp and friends. Also added some missing 'break' statements
and combined identical sections.
llvm-svn: 64615
2009-02-15 22:47:25 +00:00
Nate Begeman
a6b47a4142
Don't allow taking the address of an element in an ext_vector
...
llvm-svn: 64614
2009-02-15 22:45:20 +00:00
Chris Lattner
4576b2eebd
lots of trailing whitespace
...
llvm-svn: 64613
2009-02-15 22:44:22 +00:00
Chris Lattner
4bf74fdd90
Refactor the deprecated and unavailable checks into a new
...
DiagnoseUseOfDeprecatedDecl method. This ensures that they
are treated consistently. This gets us 'unavailable' support
on a few new types of decls, and makes sure we consistently
silence deprecated when the caller is also deprecated.
llvm-svn: 64612
2009-02-15 22:43:40 +00:00
Chris Lattner
8510b902fb
implement gcc/testsuite/objc.dg/method-attribute-3.m, by improving error recovery.
...
llvm-svn: 64609
2009-02-15 22:24:30 +00:00
Chris Lattner
0629c8f4e4
don't pass a random english string in as a string argument to Diag.
...
llvm-svn: 64608
2009-02-15 22:21:03 +00:00
Chris Lattner
20cf43010a
fix a fixme in -emit-html output: highlight the entire range of a macro
...
instantiation, which highlights the arguments of a function like macro
as well as its identifier.
llvm-svn: 64607
2009-02-15 21:32:34 +00:00
Chris Lattner
f52c0b261c
add a new SourceManager::getInstantiationRange helper method.
...
llvm-svn: 64606
2009-02-15 21:26:50 +00:00
Chris Lattner
641f1eab77
fix build on systems where uint64_t != unsigned long long
...
llvm-svn: 64605
2009-02-15 21:20:13 +00:00
Chris Lattner
5a2e9cb42d
fix PR3579: __LINE__ expands to the presumed location of the
...
*end* of a macro instantiation, not the start of it. This is
really all about bug-for-bug compatibility with GCC, but not
doing this breaks the FreeBSD kernel.
llvm-svn: 64604
2009-02-15 21:06:39 +00:00
Chris Lattner
2edf0fcb75
fix PR3579: __LINE__ expands to the presumed location of the
...
*end* of a macro instantiation, not the start of it. This is
really all about bug-for-bug compatibility with GCC, but not
doing this breaks the FreeBSD kernel.
llvm-svn: 64603
2009-02-15 21:06:15 +00:00
Chris Lattner
9dc9c206d3
track "just a little more" location information for macro instantiations.
...
Now instead of just tracking the expansion history, also track the full
range of the macro that got replaced. For object-like macros, this doesn't
change anything. For _Pragma and function-like macros, this means we track
the locations of the ')'.
This is required for PR3579 because apparently GCC uses the line of the ')'
of a function-like macro as the location to expand __LINE__ to.
llvm-svn: 64601
2009-02-15 20:52:18 +00:00
Nicolas Geoffray
7f543ba9fa
On 64bit we may have a personality function which requires 64 bits to
...
be encoded.
llvm-svn: 64600
2009-02-15 20:49:23 +00:00
Daniel Dunbar
f898638eee
PR3589: Don't simplify libcalls with -ffreestanding.
...
llvm-svn: 64599
2009-02-15 20:00:15 +00:00
Ted Kremenek
d9849254ab
Remove accidental duplication of content in .h file.
...
llvm-svn: 64596
2009-02-15 18:24:51 +00:00
Daniel Dunbar
bb025312f3
Fix pasto noticed by Anders Johnsen.
...
llvm-svn: 64595
2009-02-15 18:23:07 +00:00
Duncan Sands
46196aef82
Make this more useful for cleaning up after the
...
one-definition-rule llvm-gcc changes (coming soon
to a tree near you!).
llvm-svn: 64588
2009-02-15 11:54:49 +00:00
Mikhail Glushenkov
e68b888550
80-column violation.
...
llvm-svn: 64586
2009-02-15 11:32:31 +00:00
Duncan Sands
b3f27881a9
If the target of an alias has internal linkage, then the
...
alias can be morphed into the target. Implement this
transform, and fix a crash in the existing transform at
the same time.
llvm-svn: 64583
2009-02-15 09:56:08 +00:00
Evan Cheng
2510436e20
Fix PR3522. It's not safe to sink into landing pad BB's.
...
llvm-svn: 64582
2009-02-15 08:36:12 +00:00
Chris Lattner
37959570af
implement support for attribute(unavailable) on objc methods.
...
This implements gcc/testsuite/objc.dg/method-attribute-1.m
llvm-svn: 64581
2009-02-15 07:50:52 +00:00
Daniel Dunbar
8de90f0a92
Obj-C non-fragile ABI: Fix types of a few globals; these were not
...
creating valid LLVM structures (although they work fined).
llvm-svn: 64580
2009-02-15 07:36:20 +00:00
Evan Cheng
e79841adbb
Fix pr3571: If stride is a value defined by an instruction, make sure it dominates the loop preheader. When IV users are strength reduced, the stride is inserted into the preheader. It could create a use before def situation.
...
llvm-svn: 64579
2009-02-15 06:06:15 +00:00
Daniel Dunbar
87f7ba3541
ccc: Pass -P to clang.
...
llvm-svn: 64578
2009-02-15 05:59:37 +00:00
Evan Cheng
fe151ba135
ifdef out unneeded if statement.
...
llvm-svn: 64575
2009-02-15 03:20:37 +00:00
Mikhail Glushenkov
58a1a8e546
Fix warning on gcc 4.3.
...
"system() declared with attribute warn_unused_result."
llvm-svn: 64574
2009-02-15 03:20:32 +00:00
Mikhail Glushenkov
a539836b95
Whitespace fixes.
...
llvm-svn: 64573
2009-02-15 03:20:03 +00:00
Chris Lattner
4c6ea8612a
allow implementations of deprecated functions to use deprecated symbols.
...
llvm-svn: 64572
2009-02-15 01:38:09 +00:00
Mike Stump
0e7d7b68c8
Use getNameAsCString instead of getNameAsString and reflow the type.
...
Thanks Anders.
llvm-svn: 64571
2009-02-14 22:49:33 +00:00
Mike Stump
2d5a2878d4
Generate the helper function for blocks. Now basic codegen is
...
starting to work for blocks.
llvm-svn: 64570
2009-02-14 22:16:35 +00:00
Fariborz Jahanian
35afdfc36e
Fixed a bad ir-gen bug which caused a dejagnu test to fail.
...
Now we are pretty close to be in sync with objc's classic
abi when it comes to passing dejagnu objc executable tests.
llvm-svn: 64569
2009-02-14 21:25:36 +00:00
Douglas Gregor
2563d0fa08
Add a test case for -ffreestanding that redefines malloc.
...
Warn that complex numbers are an extension in a freestanding C99
implementation.
llvm-svn: 64568
2009-02-14 21:06:05 +00:00
Douglas Gregor
69c7951c8e
Add -ffreestanding to suppress the implicit declaration of library builtins like printf and malloc. Fixes PR3586
...
llvm-svn: 64566
2009-02-14 20:49:29 +00:00
Mike Stump
6bae7a1b2a
Add expected note. Surely people test before the check in stuff.
...
llvm-svn: 64565
2009-02-14 20:35:19 +00:00
Cedric Venet
08438133da
Add svn:eol-style=native to some files
...
Correct two files with inconsistent lines endings.
llvm-svn: 64564
2009-02-14 20:20:19 +00:00