Chris Lattner
f76c09dcaa
convert some diags to use numbers instead of strings.
...
llvm-svn: 59600
2008-11-19 07:25:44 +00:00
Chris Lattner
230fc3d17d
formatting
...
llvm-svn: 59599
2008-11-19 07:24:05 +00:00
Chris Lattner
91aea716c6
add direct support for signed and unsigned integer arguments to diagnostics.
...
llvm-svn: 59598
2008-11-19 07:22:31 +00:00
Chris Lattner
327984f4c4
switch TextDiagnosticPrinter to raw_ostream.
...
llvm-svn: 59597
2008-11-19 06:56:25 +00:00
Chris Lattner
23be067407
rewrite FormatDiagnostic to be less gross and a lot more efficient.
...
This also makes it illegal to have bare '%'s in diagnostics. If you
want a % in a diagnostic, use %%.
llvm-svn: 59596
2008-11-19 06:51:40 +00:00
Chris Lattner
48fe79e9e1
add a write method.
...
llvm-svn: 59595
2008-11-19 06:45:06 +00:00
Daniel Dunbar
1b9ad472a4
Discard unused runtime function declarations (for readability).
...
llvm-svn: 59594
2008-11-19 06:15:35 +00:00
Chris Lattner
8d5bec4c7d
implement a transparent optimization with the diagnostics stuff:
...
const char*'s are now not converted to std::strings when the diagnostic
is formed, we just hold onto their pointer and format as needed.
This commit makes DiagnosticClient::FormatDiagnostic even more of a
mess, I'll fix it in the next commit.
llvm-svn: 59593
2008-11-19 06:04:55 +00:00
Bill Wendling
1431331b47
- Move the stackprotector intrinsic to the general section.
...
- Rewrite the sentence to make it look as if English is my first language.
llvm-svn: 59592
2008-11-19 05:56:17 +00:00
Ted Kremenek
29704928b7
Updated checker build.
...
llvm-svn: 59591
2008-11-19 05:46:43 +00:00
Chris Lattner
5d78c9ab5d
Address Sebastian and Doug's objections with taking pointers to temporaries.
...
Instead of doing that, copy the strings into the diagnostic info.
llvm-svn: 59590
2008-11-19 05:34:22 +00:00
Chris Lattner
f490e15729
remove one more old-style Diag method.
...
llvm-svn: 59589
2008-11-19 05:27:50 +00:00
Chris Lattner
3b05413e9d
Switch several more Sema Diag methods over. This simplifies the
...
__builtin_prefetch code to only emit one diagnostic per builtin_prefetch.
While this has nothing to do with the rest of the patch, the code seemed
like overkill when I was updating it.
llvm-svn: 59588
2008-11-19 05:08:23 +00:00
Owen Anderson
1af37c2fca
Add support for rematerialization in pre-alloc-splitting.
...
llvm-svn: 59587
2008-11-19 04:28:29 +00:00
Daniel Dunbar
45535f3f22
LLVMC2: -emit-llvm stops compilation.
...
llvm-svn: 59586
2008-11-19 04:15:56 +00:00
Douglas Gregor
ca63811b39
Built-in equality and relational operators have return type "bool" in C++,
...
not "int".
Fix a typo in the promotion of enumeration types that was causing some
integral promotions to look like integral conversions (leading to
extra ambiguities in overload resolution).
Check for "acceptable" overloaded operators based on the types of the
arguments. This is a somewhat odd check that is specified by the
standard, but I can't see why it actually matters: the overload
candidates it suppresses don't seem like they would ever be picked as
the best candidates.
llvm-svn: 59583
2008-11-19 03:25:36 +00:00
Daniel Dunbar
2dd5aa4f11
LLVMC2: Teach llvm_gcc_c tool about -include and -fsyntax-only.
...
- Only focusing on llvm_gcc_c for now, eventually this needs to be
refactored so it can be shared via all the gcc-like tools.
llvm-svn: 59582
2008-11-19 02:59:00 +00:00
Daniel Dunbar
21fad54c6f
Grammar.
...
llvm-svn: 59581
2008-11-19 02:37:39 +00:00
Dan Gohman
82016c243b
Rearrange code to reduce the nesting level. No functionality change.
...
llvm-svn: 59580
2008-11-19 02:00:32 +00:00
Ted Kremenek
a7c279ba40
Revert 59574 (caused tests to fail).
...
llvm-svn: 59579
2008-11-19 01:54:47 +00:00
Ted Kremenek
5a205a57d8
scan-build now recognizes when the user is directly invoking gcc for:
...
(a) different versions of gcc (e.g., a suffix '-4.2')
(b) different paths for gcc
llvm-svn: 59578
2008-11-19 01:46:21 +00:00
Bill Wendling
542c2da10e
Use dyn_cast instead of cast.
...
llvm-svn: 59577
2008-11-19 01:25:41 +00:00
Bill Wendling
9dc0f61a5e
Match an element of the return type if it returns a structure.
...
llvm-svn: 59576
2008-11-19 01:15:05 +00:00
Fariborz Jahanian
d7db964495
Generate strong write barriers for __strong objects.
...
Also, took care of Daniel's commments.
llvm-svn: 59575
2008-11-19 00:59:10 +00:00
Ted Kremenek
1b167108bb
- Move static function IsNonPragmaNonMacroLexer into Preprocessor.h.
...
- Add variants of IsNonPragmaNonMacroLexer to accept an IncludeMacroStack entry
(simplifies some uses).
- Use IsNonPragmaNonMacroLexer in Preprocessor::LookupFile.
Performance testing of -Eonly on Cocoa.h shows no performance regression because
of this patch.
llvm-svn: 59574
2008-11-19 00:46:18 +00:00
Ted Kremenek
c7a366309d
Initialize CurPPLexer in Preprocessor's constructor.
...
llvm-svn: 59573
2008-11-19 00:44:06 +00:00
Ted Kremenek
c0145fd0bf
Fix warning about RegionStoreManager::Retrieve() not always returning a value.
...
llvm-svn: 59571
2008-11-19 00:27:37 +00:00
Devang Patel
25662f3e4a
Remove unused variables.
...
llvm-svn: 59570
2008-11-19 00:22:02 +00:00
Devang Patel
ebd2363339
Fix typo.
...
llvm-svn: 59569
2008-11-19 00:19:18 +00:00
Oscar Fuentes
325814957e
CMake: Support for building 32 bits shared libraries on 64 bits GNU
...
systems. BUILD_32_BITS option renamed to LLVM_BUILD_32_BITS.
llvm-svn: 59568
2008-11-19 00:10:39 +00:00
Dan Gohman
eb87975384
Fix debug printing of flagged SDNodes in SUnits so that they
...
print in the correct order.
llvm-svn: 59567
2008-11-19 00:04:44 +00:00
Evan Cheng
cdbbc00a4f
Make the same change to RegScavenger::backward.
...
llvm-svn: 59566
2008-11-18 23:54:01 +00:00
Oscar Fuentes
366fbb79f5
CMake: Option for enabling/disabling threads.
...
llvm-svn: 59565
2008-11-18 23:45:21 +00:00
Douglas Gregor
436424cfa5
Partial expansion of C++ operator overloading (for binary operators)
...
to support operators defined as member functions, e.g.,
struct X {
bool operator==(X&);
};
Overloading with non-member operators is supported, and the special
rules for the implicit object parameter (e.g., the ability for a
non-const *this to bind to an rvalue) are implemented.
This change also refactors and generalizes the code for adding
overload candidates for overloaded operator calls (C++ [over.match.expr]),
both to match the rules more exactly (name lookup of non-member
operators actually ignores member operators) and to make this routine
more reusable for the other overloaded operators.
Testing for the initialization of the implicit object parameter is
very light. More tests will come when we get support for calling
member functions directly (e.g., o.m(a1, a2)).
llvm-svn: 59564
2008-11-18 23:14:02 +00:00
Bill Wendling
d8e312d11f
Verify that the second parameter of the stacprotector intrinsic is an alloca
...
instruction.
llvm-svn: 59563
2008-11-18 23:09:31 +00:00
Evan Cheng
6cea453271
We also need to keep the operand index for two address check.
...
llvm-svn: 59562
2008-11-18 22:56:19 +00:00
Chris Lattner
377d1f8eae
start converting Sema over to using its canonical Diag method.
...
llvm-svn: 59561
2008-11-18 22:52:51 +00:00
Fariborz Jahanian
83f45b55f8
Patch for generation of weak write barriers for objc
...
__weak objects.
llvm-svn: 59560
2008-11-18 22:37:34 +00:00
Evan Cheng
3095c32c89
Register scavenger should process early clobber defs first. A dead early clobber def should not interfere with a normal def which happens one slot later.
...
llvm-svn: 59559
2008-11-18 22:28:38 +00:00
Evan Cheng
2352226682
Fix indentation.
...
llvm-svn: 59558
2008-11-18 22:27:13 +00:00
Bill Wendling
f85850f89e
Documentation for the llvm.stackprotector intrinsic.
...
llvm-svn: 59557
2008-11-18 22:10:53 +00:00
Chris Lattner
84f1ee3001
introduce the one true Diag method for Sema. Next up: kill all the others off.
...
llvm-svn: 59556
2008-11-18 21:53:24 +00:00
Chris Lattner
a7fc74fdc1
Allow diagnostics to be used in bool context, like:
...
return Diag(...);
when the function returns bool. This always evaluates to true.
llvm-svn: 59555
2008-11-18 21:53:02 +00:00
Chris Lattner
e05c4dfc42
Remove the last of the old-style Preprocessor::Diag methods.
...
llvm-svn: 59554
2008-11-18 21:48:13 +00:00
Fariborz Jahanian
f5125d19e7
Generate objc_read_weak for __weak objc loads.
...
llvm-svn: 59553
2008-11-18 21:45:40 +00:00
Devang Patel
b5e867acff
Add new helper pass that strips all symbol names except debugging information.
...
This pass makes it easier to test wheter debugging info. influences optimization passes or not.
llvm-svn: 59552
2008-11-18 21:34:39 +00:00
Dan Gohman
c8d2b0135a
Don't set neverHasSideEffects on x86's divide instructions, since
...
they trap on divide-by-zero, and this side effect is otherwise
unmodeled.
llvm-svn: 59551
2008-11-18 21:29:14 +00:00
Dan Gohman
6e58726416
Tidy up ScheduleNodeBottomUp methods, and make them more
...
consistent with ScheduleNodeTopDown methods.
llvm-svn: 59550
2008-11-18 21:22:20 +00:00
Dan Gohman
71b632f905
Update a comment to reflect the current code.
...
llvm-svn: 59549
2008-11-18 21:14:44 +00:00
Duncan Sands
3ca78c675e
Remove integer promotion support for FP_EXTEND
...
and FP_ROUND. Not sure what these were doing
here - probably they were sometimes (wrongly)
created with integer operands somewhere that
has since been fixed.
llvm-svn: 59548
2008-11-18 21:13:59 +00:00