Anton Korobeynikov
7cea91e171
Add reg-imm tests
...
llvm-svn: 84705
2009-10-21 00:11:44 +00:00
Anton Korobeynikov
7fbc0a50d5
Add simple operand printing stuff
...
llvm-svn: 84704
2009-10-21 00:11:27 +00:00
Anton Korobeynikov
6e78029d82
Add experimental MSP430 MCInstLowering stuff
...
llvm-svn: 84703
2009-10-21 00:11:08 +00:00
Anton Korobeynikov
daaa2f0c31
Wire up MSP430 printMCInst() method
...
llvm-svn: 84702
2009-10-21 00:10:47 +00:00
Anton Korobeynikov
b6e2e4fd50
Add MSP430 InstPrinter stub
...
llvm-svn: 84701
2009-10-21 00:10:30 +00:00
Anton Korobeynikov
13de81ac40
Use proper target data
...
llvm-svn: 84700
2009-10-21 00:10:00 +00:00
Ted Kremenek
ab929bb352
Remove stale comment and tighten code.
...
llvm-svn: 84697
2009-10-20 23:59:28 +00:00
Ted Kremenek
89e53fddb8
Add FIXME.
...
llvm-svn: 84696
2009-10-20 23:48:29 +00:00
Ted Kremenek
8aed49000d
Use llvm::OwningPtr in CFGBuilder, fixing a leak on an error path.
...
llvm-svn: 84695
2009-10-20 23:46:25 +00:00
Fariborz Jahanian
e4d94cee05
Code-gen for CXXZeroInitValueExpr AST passed
...
as argument to a function call. Removes a FIXME.
llvm-svn: 84694
2009-10-20 23:29:04 +00:00
Anders Carlsson
b68b028a02
Change ResolveAddressOfOverloadedFunction to support TemplateIdRefExpr. No testcase yet because FixOverloadedFunctionReference needs to be updated too. Doug, plz review.
...
llvm-svn: 84693
2009-10-20 22:53:47 +00:00
David Goodwin
4388beb884
Respect src register allocation requirements when breaking anti-dependencies. Remove some dead code.
...
llvm-svn: 84691
2009-10-20 22:50:43 +00:00
Devang Patel
0c35dbdf03
Cosmetic changes.
...
s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g
llvm-svn: 84689
2009-10-20 22:50:27 +00:00
Daniel Dunbar
a470eac6a1
Fix -Asserts warning.
...
llvm-svn: 84687
2009-10-20 22:10:05 +00:00
Anders Carlsson
5789c497a0
Fix the 32-bit ABI to return structures with non-trivial copy ctors or dtors indirectly.
...
llvm-svn: 84686
2009-10-20 22:07:59 +00:00
Ted Kremenek
d45ff6cced
Add destructor and cleanup code to LocationContext (fixing some leaks). Along the way, have
...
AnalysisManager periodically cleanup its AnalysisContextManager and LocationContextManager objects,
as they don't need to forever retain all the CFGs ever created when analyzing a file.
llvm-svn: 84684
2009-10-20 21:39:41 +00:00
Anton Korobeynikov
a6faf60831
Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)
...
transform.
llvm-svn: 84683
2009-10-20 21:37:45 +00:00
Lang Hames
16edcd724a
Oops. Backing out 84681 - needs to wait for the indexing patch.
...
llvm-svn: 84682
2009-10-20 21:28:22 +00:00
Lang Hames
d8938d1ca8
Added some debugging output to pre-alloc splitting.
...
llvm-svn: 84681
2009-10-20 21:25:13 +00:00
Fariborz Jahanian
9559ced10b
Updated, we support == and != builtins for member pointers.
...
llvm-svn: 84679
2009-10-20 21:10:15 +00:00
Chris Lattner
0f15e03c5a
add a real testcase for PR4313
...
llvm-svn: 84676
2009-10-20 21:04:26 +00:00
Chris Lattner
582d056b14
add a test similar to that needed for PR4313, but that doesn't
...
fail without the patch.
llvm-svn: 84675
2009-10-20 21:00:47 +00:00
Chris Lattner
8468c8e857
the date on this testcase is wrong, it is unreduced, and it passes without the fix for PR4313.
...
llvm-svn: 84674
2009-10-20 20:57:58 +00:00
Dan Gohman
83f5c835ff
Fix another place that calls Loop::contains a lot to construct a sorted
...
container of the blocks and do efficient lookups. This makes
isLoopSimplifyForm much faster on large loops, fixing a significant
compile-time issue in builds with assertions enabled.
llvm-svn: 84673
2009-10-20 20:41:13 +00:00
Chris Lattner
c702b6ab37
merge and filecheckize
...
llvm-svn: 84672
2009-10-20 20:39:43 +00:00
Chris Lattner
591d4da790
merge two tests and convert to filecheck.
...
llvm-svn: 84671
2009-10-20 20:33:46 +00:00
Fariborz Jahanian
00c6d13dce
Changes to reflect more pointer-to-member support.
...
llvm-svn: 84670
2009-10-20 20:31:50 +00:00
Jim Grosbach
cccf5084a3
Disable by default while debugging
...
llvm-svn: 84669
2009-10-20 20:31:31 +00:00
Mike Stump
38382028c7
For now, we need to have the llvm type of the block pointer remain as
...
it was. Fixes codegen bug introduced yesterday.
llvm-svn: 84668
2009-10-20 20:30:01 +00:00
Chris Lattner
7f903681ac
alternate fix for PR5258 which avoids worklist problems, with reduced testcase.
...
llvm-svn: 84667
2009-10-20 20:27:49 +00:00
Jim Grosbach
f3a2b6499e
add cmd line opt to disable frame index reuse for ARM and T2. debug aid.
...
llvm-svn: 84664
2009-10-20 20:19:50 +00:00
Fariborz Jahanian
ac741ffd44
Moved comment to its proper place in my last patch.
...
llvm-svn: 84662
2009-10-20 20:07:35 +00:00
Dan Gohman
b6b8ec769c
Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both
...
the estimated code size and the number of blocks when deciding whether to
do a non-trivial unswitch. This protects it from some very undesirable
worst-case behavior on large numbers of loop-unswitchable conditions, such
as in the testcase in PR5259.
llvm-svn: 84661
2009-10-20 20:06:09 +00:00
Fariborz Jahanian
9a587b0111
Patch implements ranking conversions between member pointers [over.ics.rank]
...
llvm-svn: 84660
2009-10-20 20:04:46 +00:00
Devang Patel
e21912d1ae
Do not eagerly cache DITypes because it allows real struct type to be shadowed by forward declared struct type.
...
llvm-svn: 84659
2009-10-20 19:55:01 +00:00
David Goodwin
baf6dd26ea
Checkpoint more aggressive anti-dependency breaking for post-ra scheduler.
...
llvm-svn: 84658
2009-10-20 19:54:44 +00:00
Jim Grosbach
d2ba321930
Better handle instructions that re-def a scratch register
...
llvm-svn: 84657
2009-10-20 19:52:35 +00:00
Daniel Dunbar
f4534ee0a3
Driver: If unable to find the gcc tool chain, try the next OS rev.
...
llvm-svn: 84656
2009-10-20 19:25:43 +00:00
Devang Patel
e4f2b2a8ac
Encode global variable name in debug info.
...
llvm-svn: 84653
2009-10-20 18:26:30 +00:00
Dan Gohman
3d9d78463c
Following r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too.
...
llvm-svn: 84652
2009-10-20 18:14:49 +00:00
Jeffrey Yasskin
27c669242a
Move the Function*->allocated blocks map from the JITMemoryManager to the
...
JITEmitter.
I'm gradually making Functions auto-remove themselves from the JIT when they're
destroyed. In this case, the Function needs to be removed from the JITEmitter,
but the map recording which Functions need to be removed lived behind the
JITMemoryManager interface, which made things difficult.
This patch replaces the deallocateMemForFunction(Function*) method with a pair
of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *)
corresponding to the two startFoo/endFoo pairs.
llvm-svn: 84651
2009-10-20 18:13:21 +00:00
Daniel Dunbar
710a80d3ba
Add missing semi-colon.
...
llvm-svn: 84650
2009-10-20 18:07:06 +00:00
Fariborz Jahanian
b14d70413f
Changed text of warning in my last patch.
...
Related to radar:
<rdar://problem/7308503> clang should disallow the trailing semicolon in method definitions
llvm-svn: 84647
2009-10-20 17:24:11 +00:00
Edward O'Callaghan
462e4ab4ac
Bring Darwin into the switch-case statement instead of its own if for readability.
...
llvm-svn: 84646
2009-10-20 17:22:50 +00:00
Fariborz Jahanian
040d75d9b6
Issue warning if method body starts with a semicolon.
...
Fixes
<rdar://problem/7308503> clang should disallow the trailing semicolon in method definitions
llvm-svn: 84645
2009-10-20 16:39:13 +00:00
Steve Naroff
bb4568a37d
Add an example to help claify the process/assumptions...
...
llvm-svn: 84642
2009-10-20 16:36:34 +00:00
Jim Grosbach
5f2581a37a
Register re-use for scavenged frame indices must check for re-deginition
...
of the register in the instruction which kills the scavenged value.
llvm-svn: 84641
2009-10-20 16:33:57 +00:00
Dan Gohman
4a43e3068d
Make TranslateX86CC return COND_INVALID instead of aborting when it
...
encounters an OEQ or UNE comparison, and update its callers to check
for this return status and recover. This fixes a problem resulting from
the LowerOperation hooks being called from LegalizeVectorOps, because
LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may
still be at large. This fixes PR5092.
llvm-svn: 84640
2009-10-20 16:22:37 +00:00
Torok Edwin
cf10ec951d
Fix PR5258, jump-threading creating invalid PHIs.
...
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.
llvm-svn: 84638
2009-10-20 15:42:00 +00:00
Torok Edwin
729d92bd74
Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction
...
when the invoke had multiple return values: it set the lattice value only on the
extractvalue.
This caused the invoke's lattice value to remain the default (undefined), and
later propagated to extractvalue's operand, which incorrectly introduces
undefined behavior.
llvm-svn: 84637
2009-10-20 15:15:09 +00:00