Dan Gohman
7f079aabed
Demangle and pretty-print symbols in internal backtraces. Patch by
...
Wesley Peck, with a few fixes by me.
llvm-svn: 60605
2008-12-05 20:12:48 +00:00
Anton Korobeynikov
24600bf05a
Revert invalid r60393. It causes llvm-gcc bootstrap fails in release builds.
...
See PR3160 for details
llvm-svn: 60604
2008-12-05 19:38:49 +00:00
Evan Cheng
7a15646d69
This test also requires -mattr=+sse41.
...
llvm-svn: 60601
2008-12-05 19:26:37 +00:00
Chris Lattner
eda6432beb
Make it illegal to call getDependency* on non-memory instructions
...
like binary operators.
llvm-svn: 60600
2008-12-05 18:46:19 +00:00
Fariborz Jahanian
88909849bb
Fixed a test case. Added a test case showing property setter's
...
type mismatch (related to my last patch).
llvm-svn: 60599
2008-12-05 18:38:31 +00:00
Fariborz Jahanian
7988d7dc3e
(instance/class) Method type checking between class and its implementation.
...
(instance/class) Method type checking between category and its implementation.
And a test case for all.
llvm-svn: 60598
2008-12-05 18:18:52 +00:00
Douglas Gregor
5101c24f60
Representation of template type parameters and non-type template
...
parameters, with some semantic analysis:
- Template parameters are introduced into template parameter scope
- Complain about template parameter shadowing (except in Microsoft mode)
Note that we leak template parameter declarations like crazy, a
problem we'll remedy once we actually create proper declarations for
templates.
Next up: dependent types and value-dependent/type-dependent
expressions.
llvm-svn: 60597
2008-12-05 18:15:24 +00:00
Evan Cheng
43c0891838
Reason #3 from 60595 doesn't hold true. If we can fold a PIC load from constpool into a use, the rewrite happens at time of spill (not in VirtRegMap). Later on, if the GlobalBaseReg is spilled, the spiller can see the use uses GlobalBaseReg and do the right thing.
...
llvm-svn: 60596
2008-12-05 17:41:31 +00:00
Evan Cheng
fd8c4d5975
Effectively undo 60461 in PIC mode which simply transform V_SET0 / V_SETALLONES into a load from constpool in order to fold into restores. This is not safe to do when PIC base is being used for a number of reasons:
...
1. GlobalBaseReg may have been spilled.
2. It may not be live at the use.
3. Spiller doesn't know this is happening so it won't prevent GlobalBaseReg from being spilled later (That by itself is a nasty hack. It's needed because we don't insert the reload until later).
llvm-svn: 60595
2008-12-05 17:23:48 +00:00
Chris Lattner
c100828026
Fix test/Transforms/GVN/pre-load.ll
...
llvm-svn: 60594
2008-12-05 17:04:12 +00:00
Steve Naroff
6d6da255fb
Fixed <rdar://problem/6213808> clang ObjC rewriter: @finally is not always executed
...
llvm-svn: 60593
2008-12-05 17:03:39 +00:00
Evan Cheng
994faaf218
Fix comment.
...
llvm-svn: 60592
2008-12-05 17:00:16 +00:00
Anders Carlsson
1aa679227b
Use VerifyIntegerConstantExpression instead of isIntegerConstantExpr. Fixes PR2963
...
llvm-svn: 60591
2008-12-05 16:33:57 +00:00
Cedric Venet
af333378c9
The use of the construct:
...
for(Type1 B = ...;;) { Type2 B ; ... }
is bad: code is hard to read and VS VS don't like it (it ignore the second declaration of B).
This patch fix the problem in tablegen. Please don't write code like this.
llvm-svn: 60590
2008-12-05 13:37:30 +00:00
Chris Lattner
d2a653af0c
Make IsValueFullyAvailableInBlock safe.
...
llvm-svn: 60588
2008-12-05 07:49:08 +00:00
Chris Lattner
6c425556f2
add a new pop_back_val method which returns the value popped. This is
...
heretical from a STL standpoint, but is oh-so-useful for things that
can't throw exceptions when copied, like, well, everything in LLVM.
llvm-svn: 60587
2008-12-05 07:11:05 +00:00
Dan Gohman
d24be45d99
Drop the reg argument to isRegReDefinedByTwoAddr, which was redundant.
...
llvm-svn: 60586
2008-12-05 05:45:42 +00:00
Dan Gohman
67840c9803
Update comments. There is no getArgumentAccesses.
...
llvm-svn: 60585
2008-12-05 05:35:21 +00:00
Dan Gohman
9bb56443a1
Teach StackSlotColoring to update MachineMemOperands when
...
changing the stack slots on an instruction, to keep them
consistent with the actual memory addresses.
llvm-svn: 60584
2008-12-05 05:31:14 +00:00
Dan Gohman
c1dee225d0
Ignore IMPLICIT_DEF instructions when computing physreg liveness.
...
While they appear to provide a normal clobbering def, they don't
in the case of the awkward IMPLICIT_DEF+INSERT_SUBREG idiom. It
would be good to change INSERT_SUBREG; until then, this change
allows post-regalloc scheduling to cope in a mildly conservative
way.
llvm-svn: 60583
2008-12-05 05:30:02 +00:00
Anders Carlsson
98463cd44d
This wasn't such a good idea after all as it broke some tests.
...
llvm-svn: 60582
2008-12-05 05:24:13 +00:00
Anders Carlsson
3bc1d7d3d3
Handle __builtin___CFStringMakeConstantString in Expr::Evaluate.
...
llvm-svn: 60581
2008-12-05 05:18:05 +00:00
Anders Carlsson
1e495d9860
Make Sema::CheckForConstantInitializer use Expr::Evaluate. This fixes PR3130.
...
llvm-svn: 60580
2008-12-05 05:09:56 +00:00
Ted Kremenek
bd4551cced
Change the implementation of symbol_iterator to not use a union and rely on any details of SymbolRef's implementation.
...
llvm-svn: 60579
2008-12-05 02:56:39 +00:00
Ted Kremenek
c9e7622a52
Add SymbolRef::print() and have SymbolicRegion::print() use this method instead of calling SymbolRef::getNumber().
...
llvm-svn: 60578
2008-12-05 02:45:20 +00:00
Ted Kremenek
3cb81db1b2
Use trait-based profiling of SymbolRefs, avoiding calling getNumber() (which will soon be removed).
...
llvm-svn: 60577
2008-12-05 02:39:38 +00:00
Ted Kremenek
e2c86c30d0
Remove (unused) RegionExtent and subclasses. Extents are now represented easily using SVals.
...
llvm-svn: 60576
2008-12-05 02:36:00 +00:00
Ted Kremenek
d8242f19f7
Rename SymbolID to SymbolRef. This is a precursor to some overhauling of the representation of symbolic values.
...
llvm-svn: 60575
2008-12-05 02:27:51 +00:00
Zhongxing Xu
fbcf1e2623
Rename: FindContext -> FindDeclVisibleInContext.
...
llvm-svn: 60574
2008-12-05 01:57:57 +00:00
Fariborz Jahanian
521b3a363e
Patch for diagnosing type mismatch between
...
methods in class and its implementation.
This is work in progress.
llvm-svn: 60573
2008-12-05 01:35:25 +00:00
Ted Kremenek
8e942123cb
Remove SymbolDataContentsOf (unused).
...
llvm-svn: 60572
2008-12-05 01:31:31 +00:00
Evan Cheng
2a03c7e977
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols.
...
llvm-svn: 60571
2008-12-05 01:06:39 +00:00
Ted Kremenek
d368de794a
StoreManager::Retrieve and StoreManager::RemoveDeadBindings now take a GRState* argument instead of a Store. This allows them to use the GDM for storing other data.
...
llvm-svn: 60570
2008-12-05 00:47:52 +00:00
Chris Lattner
5b4927048f
-std=c99 defaults blocks to off even on darwin, but -fblocks overrides
...
even it.
llvm-svn: 60568
2008-12-05 00:10:44 +00:00
Scott Michel
6ce01ab378
CellSPU: Add new directory under tests/CodeGen/CellSPU to retain tests that
...
aren't part of the test suite but are generally useful nonetheless, and can
be expanded later to test the backend against the actual Cell SPU system.
There's basically no other good place to put this code, so put it here for
the time being.
- vecoperations.c: Vector shuffles for all supported vector types, tests
for v16i8 add and multiply.
llvm-svn: 60566
2008-12-05 00:01:00 +00:00
Steve Naroff
22216db0ec
Finish up support for <rdar://problem/6213955> clang ObjC rewriter: rewriter doesn't appear to support @property and @synthesize.
...
llvm-svn: 60565
2008-12-04 23:50:32 +00:00
Chris Lattner
79413956d4
change getCurFunctionDecl to skip through Block contexts to find
...
the containing block. Introduce a new getCurFunctionOrMethodDecl
method to check to see if we're in a function or objc method.
Minor cleanups to other related places. This fixes rdar://6405429.
llvm-svn: 60564
2008-12-04 23:50:19 +00:00
Chris Lattner
2ca529ce61
instead of forcing blocks on by default, make them default to off, but let
...
specific targets default them to on. Default blocks to on on 10.6 and later.
Add a -fblocks option that allows the user to override the target's default.
Use -fblocks in the various testcases that use blocks.
llvm-svn: 60563
2008-12-04 23:20:07 +00:00
Fariborz Jahanian
5271058c75
Output better diagnostics for continuation class
...
property attribute mis-specification.
llvm-svn: 60562
2008-12-04 22:56:16 +00:00
Chris Lattner
c7c6dd4d97
replace useNeXTRuntimeAsDefault with a generic hook that allows targets
...
to specify their default language options.
llvm-svn: 60561
2008-12-04 22:54:33 +00:00
Ted Kremenek
123a35a81c
Have raw_fd_ostream keep track of the position in the file to make tell() go faster by not requiring a flush().
...
llvm-svn: 60560
2008-12-04 22:51:11 +00:00
Ted Kremenek
1aed3ddffa
Remove unneeded assertion.
...
llvm-svn: 60559
2008-12-04 22:47:11 +00:00
Ted Kremenek
bf28bceb10
Remove unneeded assertion. We already know that FE->getName() is an absolute path.
...
llvm-svn: 60558
2008-12-04 22:36:44 +00:00
Sebastian Redl
33a3101d43
Code cleanup in new handling.
...
llvm-svn: 60557
2008-12-04 22:20:51 +00:00
Ted Kremenek
baedbf47f6
Use 'free' to release PerIDCache since it was allocated using calloc().
...
llvm-svn: 60556
2008-12-04 22:09:37 +00:00
Devang Patel
8c84d28250
Enable LoopIndexSplit pass.
...
llvm-svn: 60555
2008-12-04 21:40:31 +00:00
Devang Patel
c56423b500
Rewrite code that 1) filters loops and 2) calculates new loop bounds.
...
This fixes many bugs. I will add more test cases in a separate check-in.
Some day, the code that manipulates CFG and updates dom. info could use refactoring help.
llvm-svn: 60554
2008-12-04 21:38:42 +00:00
Owen Anderson
0bcbe8f6a8
Factor out some common code.
...
llvm-svn: 60553
2008-12-04 21:20:30 +00:00
Scott Michel
ea3c49d43d
CellSPU: Fix bug 3055
...
- Add v4f32, v2f64 to LowerVECTOR_SHUFFLE
- Look for vector rotate in shuffle elements, generate a vector rotate
instead of a full-blown shuffle when opportunity presents itself.
- Generate larger test harness and fix a few interesting but obscure bugs.
llvm-svn: 60552
2008-12-04 21:01:44 +00:00
Ted Kremenek
561370c23e
Add 'expected-warning' to make test case pass.
...
llvm-svn: 60548
2008-12-04 19:44:23 +00:00