David Chisnall
96de9933fb
Tweak link order on Solaris so that global ctors work.
...
llvm-svn: 150696
2012-02-16 16:00:47 +00:00
Benjamin Kramer
08f18b1b74
Revert "InstSimplify: Strip pointer casts early."
...
Turns out this isn't safe, because the code below depends on LHS and RHS having
the same type.
llvm-svn: 150695
2012-02-16 15:19:59 +00:00
Benjamin Kramer
3d27f71f2d
InstSimplify: Strip pointer casts early.
...
llvm-svn: 150694
2012-02-16 15:03:04 +00:00
Tobias Grosser
9a44b97913
Revert "CodeGeneration: Implement ceild/floord exactly as CLooG does"
...
I think I did not get the implementation right. As the current implementation
works well, we will just stick with it for now.
llvm-svn: 150691
2012-02-16 14:13:19 +00:00
Benjamin Kramer
ea51f62e4b
InstSimplify: Ignore pointer casts when constant folding compares between pointers.
...
llvm-svn: 150690
2012-02-16 13:49:39 +00:00
Evgeniy Stepanov
5d47e9164c
[asan] Allocator tweaks for low memory systems.
...
llvm-svn: 150689
2012-02-16 13:35:11 +00:00
Sebastian Redl
b8fc4775d1
Proper checking of list-initializers for array new expressions.
...
This finishes generalized initializer support in Sema.
llvm-svn: 150688
2012-02-16 12:59:47 +00:00
Sebastian Redl
6047f07e81
Revert "Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.""
...
This reintroduces commit r150682 with a fix for the Bullet benchmark crash.
llvm-svn: 150685
2012-02-16 12:22:20 +00:00
Sebastian Redl
c3a3c60040
Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself."
...
It leads to a compiler crash in the Bullet benchmark.
This reverts commit r12014.
llvm-svn: 150684
2012-02-16 11:35:52 +00:00
Alexey Samsonov
ca37969c24
AddressSanitizer: don't include pthread.h and signal.h in interceptors on Mac
...
llvm-svn: 150683
2012-02-16 11:26:52 +00:00
Sebastian Redl
86fab844bb
Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.
...
Holding the constructor directly makes no sense when list-initialized arrays come into play. The constructor is now held in a CXXConstructExpr, if construction is what is done. The new design can also distinguish properly between list-initialization and direct-initialization, as well as implicit default-initialization constructors and explicit value-initialization constructors. Finally, doing it this way removes redundance from the AST because CXXNewExpr doesn't try to handle both the allocation and the initialization responsibilities.
This breaks the static analysis of new expressions. I've filed PR12014 to track this.
llvm-svn: 150682
2012-02-16 10:58:10 +00:00
Bill Wendling
89cc16637d
s/ModAttrBehavior/ModFlagBehavior/g to be consistent with how module flags are named elsewhere.
...
llvm-svn: 150679
2012-02-16 10:28:10 +00:00
Bill Wendling
08f02afd84
Add 'exception handling' to my description.
...
llvm-svn: 150678
2012-02-16 10:25:07 +00:00
Bill Wendling
0891de0332
Add blurb about module flags and reformat a bit.
...
llvm-svn: 150677
2012-02-16 10:23:43 +00:00
Tobias Grosser
26fb5efc6d
www: Add 'pet' paper to the publications
...
llvm-svn: 150676
2012-02-16 09:59:34 +00:00
Tobias Grosser
62a3c96e5d
CodeGen: Code following a clast_guard comes after the merge block
...
llvm-svn: 150675
2012-02-16 09:56:21 +00:00
Tobias Grosser
eeafc867ed
RegisterPasses: Allow to print the CFG right after polly
...
llvm-svn: 150674
2012-02-16 09:56:17 +00:00
Tobias Grosser
e04f318772
CodeGeneration: Implement ceild/floord exactly as CLooG does
...
llvm-svn: 150673
2012-02-16 09:56:14 +00:00
Tobias Grosser
906eafe32c
CodeGen: Simplify code slightly
...
llvm-svn: 150672
2012-02-16 09:56:10 +00:00
Tobias Grosser
099cb16700
RegisterPasses: Add -polly-run-export-cloog option
...
llvm-svn: 150671
2012-02-16 09:56:07 +00:00
James Molloy
920ae8c642
Remove extraneous #include and spelling mistake introduced in r150669.
...
llvm-svn: 150670
2012-02-16 09:48:07 +00:00
James Molloy
67b6b11b52
Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N) for all operations. This fixes a horrible worst case with lots of nodes where 99% of the time was being spent in std::remove.
...
llvm-svn: 150669
2012-02-16 09:17:04 +00:00
Bill Wendling
75ff46d917
Fix test to not depend upon metadata numbers.
...
llvm-svn: 150668
2012-02-16 08:58:11 +00:00
NAKAMURA Takumi
35d19c0f1c
VMCore/AsmWriter.cpp: Tweak to check #INF and #NAN earlier.
...
With MSVCRT, prior checker missed emission of #INF and #NAN.
FIXME: Checking should be simpler.
llvm-svn: 150667
2012-02-16 08:12:24 +00:00
NAKAMURA Takumi
59b1bc16eb
test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now.
...
llvm-svn: 150666
2012-02-16 08:12:12 +00:00
Jim Ingham
4bddaeb5ab
Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set.
...
Use this to allow the lldb Driver to emit notifications for breakpoint modifications.
<rdar://problem/10619974>
llvm-svn: 150665
2012-02-16 06:50:00 +00:00
Eli Bendersky
924f9a671d
Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.
...
Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.
llvm-svn: 150664
2012-02-16 06:28:33 +00:00
Eli Friedman
59e41d046e
Shift Microsoft enum extensions from -fms-extensions to -fms-compatibility, so -fms-extensions doesn't affect enum semantics in incompatible ways. <rdar://problem/10657186>.
...
llvm-svn: 150663
2012-02-16 05:20:44 +00:00
Pete Cooper
65911667d9
Template specialize SmallVector::push_back based on POD-ness of the type. Reduces clang binary by 188KB
...
llvm-svn: 150662
2012-02-16 04:58:48 +00:00
NAKAMURA Takumi
aec412337c
VMCore/AsmWriter.cpp: Use APFloat instead of atof(3).
...
atof(3) might behave differently among platforms.
llvm-svn: 150661
2012-02-16 04:19:15 +00:00
Eli Friedman
5b44688d6b
Initial implementation of IRGen for the lambda conversion-to-function-pointer operator.
...
llvm-svn: 150660
2012-02-16 03:47:28 +00:00
Anna Zaks
95308d3798
[analyzer] Diagnostics: Ensure that the default end of diagnostic path
...
piece can always be generated.
The default end of diagnostic path piece was failing to generate on a
BlockEdge that was outgoing from a basic block without a terminator,
resulting in a very simple diagnostic being rendered (ex: no path
highlighting or custom visitors). Reuse another function, which is
essentially doing the same thing and correct it not to fail when a block
has no terminator.
llvm-svn: 150659
2012-02-16 03:41:01 +00:00
Anna Zaks
d32ead82d9
[analyzer] Malloc Checker: Give up when a pointer escapes into a struct.
...
We are not properly handling the memory regions that escape into struct
fields, which led to a bunch of false positives. Be conservative here
and give up when a pointer escapes into a struct.
llvm-svn: 150658
2012-02-16 03:40:57 +00:00
Richard Smith
17100bad0a
constexpr tidyups:
...
* Fix bug when determining whether && / || are potential constant expressions
* Try harder when determining whether ?: is a potential constant expression
* Produce a diagnostic on sizeof(VLA) to provide a better source location
llvm-svn: 150657
2012-02-16 02:46:34 +00:00
Nico Weber
2668f0a132
Add a few minor items to the 3.1 release notes.
...
llvm-svn: 150656
2012-02-16 02:35:03 +00:00
Lang Hames
55a2a96153
Oop - r150653 + r150654 broke one of my test cases. Backing out for now...
...
llvm-svn: 150655
2012-02-16 02:32:10 +00:00
Lang Hames
11ca986b17
FPSCR shouldn't be reserved.
...
llvm-svn: 150654
2012-02-16 02:28:14 +00:00
Lang Hames
2055493b97
MachineCSE shouldn't extend the live ranges of reserved or allocatable registers.
...
llvm-svn: 150653
2012-02-16 02:19:35 +00:00
Greg Clayton
53905d198c
Document that we now support the GDB shorthand format syntax on any commands
...
that take formats or sizes.
Also document that scalar expression results can be used in any command using
expressions inside backticks.
llvm-svn: 150652
2012-02-16 02:10:58 +00:00
Argyrios Kyrtzidis
85620ad239
Fix the RecursiveASTVisitor to not traverse C++ default parameters twice.
...
llvm-svn: 150651
2012-02-16 02:02:14 +00:00
Chad Rosier
ffbf9f1406
Fix test for r150648.
...
llvm-svn: 150650
2012-02-16 01:56:55 +00:00
Eli Friedman
5a6d507d1b
Start of IRGen for lambda conversion operators.
...
llvm-svn: 150649
2012-02-16 01:37:33 +00:00
Bill Wendling
b6f795eee6
Use the new method for specifying garbage collection metadata in the module.
...
The garbage collection metadata needs to be merged "intelligently", when two or
more modules are linked together, and not merely appended. (Appending creates a
section which is too large.) The module flags metadata method is the way to do
this.
<rdar://problem/8198537>
llvm-svn: 150648
2012-02-16 01:13:30 +00:00
Argyrios Kyrtzidis
3454d444dc
[libclang] Do index statements inside a type source info. rdar://10872758
...
llvm-svn: 150647
2012-02-16 01:12:04 +00:00
Bill Wendling
7346277b6b
Give a description of the Objective-C garbage collection module flags.
...
The rule governing the flags is this:
no-gc + no-gc = no-gc
no-gc + gc = no-gc
no-gc + gc-only = error
gc + gc = gc
gc + gc-only = gc-only
gc-only + gc-only = gc-only
llvm-svn: 150646
2012-02-16 01:10:50 +00:00
Douglas Gregor
d3b672c385
Implicitly define a lambda's conversion functions (to function
...
pointers and block pointers). We use dummy definitions to keep the
invariant that an implicit, used definition has a body; IR generation
will substitute the actual contents, since they can't be represented
as C++.
For the block pointer case, compute the copy-initialization needed to
capture the lambda object in the block, which IR generation will need
later.
llvm-svn: 150645
2012-02-16 01:06:16 +00:00
Dan Gohman
515a60daff
Teach clang to add metadata tags to calls and invokes in ObjC with
...
-fno-objc-arc-exceptions. This will allow the optimizer to perform
optimizations which are only safe under that flag.
This is a part of rdar://10803830.
llvm-svn: 150644
2012-02-16 00:57:37 +00:00
Richard Smith
90e7c12961
Mark the parenthesized array member initialization diagnostic as DefaultError,
...
and move it out of -Wgnu so that -Wno-gnu leaves it enabled. As requested by
Eli.
llvm-svn: 150643
2012-02-16 00:54:02 +00:00
Eli Friedman
c458885c58
loop-rotate shouldn't hoist alloca instructions out of a loop. Patch by Patrik Hägglund, with slightly modified test. Issue reported by Patrik Hägglund on llvmdev.
...
llvm-svn: 150642
2012-02-16 00:41:10 +00:00
Kostya Serebryany
10dbd68bd2
[asan] don't do AsanDie twice
...
llvm-svn: 150641
2012-02-16 00:40:18 +00:00