Argyrios Kyrtzidis
e1224c8aba
Cure for Doug's insomnia.
...
llvm-svn: 106394
2010-06-19 19:58:34 +00:00
Argyrios Kyrtzidis
26b72453f7
Include a hack to allow loading of templated CXXRecordDecls and test template reading from PCH.
...
llvm-svn: 106393
2010-06-19 19:29:21 +00:00
Argyrios Kyrtzidis
95c04caf92
Initial support for reading templates from PCH.
...
llvm-svn: 106392
2010-06-19 19:29:09 +00:00
Argyrios Kyrtzidis
106caf92cd
Initial support for writing templates to PCH.
...
llvm-svn: 106391
2010-06-19 19:28:53 +00:00
Benjamin Kramer
bf5c3d42ba
Use calloc instead of new/memset, it is more efficient when the set is very large.
...
llvm-svn: 106390
2010-06-19 17:00:31 +00:00
Dan Gohman
866971ed3d
Fix ScalarEvolution's "exhaustive" trip count evaluation code to avoid
...
assuming that loops are in canonical form, as ScalarEvolution doesn't
depend on LoopSimplify itself. Also, with indirectbr not all loops can
be simplified. This fixes PR7416.
llvm-svn: 106389
2010-06-19 14:17:24 +00:00
Dan Gohman
d277246137
Factor out duplicated code for reusing and inserting casts into
...
a helper function.
llvm-svn: 106388
2010-06-19 13:25:23 +00:00
Anton Korobeynikov
cc50b7d7d5
More AltiVec support.
...
Patch by Anton Yartsev!
llvm-svn: 106387
2010-06-19 09:47:18 +00:00
Chris Lattner
40ad0a2893
add a libs-only target to the clang makefile, patch by Sunay Ismail
...
in PR7397
llvm-svn: 106386
2010-06-19 06:35:25 +00:00
Eli Friedman
c96b2496fc
Fix for PR7415: refactor CodeGenModule::MayDeferGeneration and make it less
...
conservative for static variables in templated classes.
llvm-svn: 106385
2010-06-19 06:24:06 +00:00
Chris Lattner
87233f785b
Fix PR7097, a bad interaction between -fno-use-cxa-atexit and
...
-mconstructor-aliases by using a WeakVH instead of a raw pointer.
llvm-svn: 106384
2010-06-19 05:52:45 +00:00
Bob Wilson
4581434c27
Tidy.
...
llvm-svn: 106383
2010-06-19 05:33:57 +00:00
Bob Wilson
6d12973143
Remove a fixme comment that is no longer relevant.
...
llvm-svn: 106382
2010-06-19 05:32:41 +00:00
Bob Wilson
0ae08935f6
Fix error message to match function name.
...
llvm-svn: 106381
2010-06-19 05:32:09 +00:00
Jim Ingham
b01e742af7
Two changes in this checkin. Added a ThreadPlanKind so that I can do some reasoning based on the kind of thread plan
...
without having to use RTTI.
Removed the ThreadPlanContinue and replaced with a ShouldAutoContinue query that serves the same purpose. Having to push
another plan to assert that if there's no other indication the target should continue when this plan is popped was flakey
and error prone. This method is more stable, and fixed problems we were having with thread specific breakpoints.
llvm-svn: 106378
2010-06-19 04:45:32 +00:00
Jim Ingham
b2a38a7286
Remember whether a queue or thread name were passed into "breakpoint modify" so we can recognize an empty argument as unsetting the option.
...
llvm-svn: 106377
2010-06-19 04:35:20 +00:00
Stephen Canon
60a234f079
This is a test commit to verify repository access.
...
llvm-svn: 106376
2010-06-19 04:34:50 +00:00
Bruno Cardoso Lopes
b86a3abcc7
Refactoring of regular logical packed instructions to prepare for AVX ones.
...
llvm-svn: 106375
2010-06-19 04:09:22 +00:00
Bruno Cardoso Lopes
8737b7d73d
Refactor aliased packed logical instructions, also add
...
AVX AND,OR,XOR,NAND{P}{S,D}{rr,rm} instructions.
llvm-svn: 106374
2010-06-19 02:44:01 +00:00
Evan Cheng
7079bf815d
Ignore dbg_value's.
...
llvm-svn: 106373
2010-06-19 02:36:21 +00:00
Bruno Cardoso Lopes
a588049ce9
Move new sse 1 & 2 generic classes to a more appropriate place
...
llvm-svn: 106372
2010-06-19 01:32:46 +00:00
Bruno Cardoso Lopes
2787efd961
Remove unnecessary arguments
...
llvm-svn: 106371
2010-06-19 01:22:34 +00:00
Bruno Cardoso Lopes
00ada89f95
Add AVX packed intrinsics for MIN, MAX
...
llvm-svn: 106370
2010-06-19 01:17:05 +00:00
Evan Cheng
f3c01f3ef6
Disable sibcall optimization for Thumb1 for now since Thumb1RegisterInfo::emitEpilogue is not expecting them.
...
llvm-svn: 106368
2010-06-19 01:01:32 +00:00
Eric Christopher
42105b2976
Finish ripping isTwoAddress out of X86. Some mindless formatting
...
and operand renaming to help.
The giant turn the constraints on and selectively turn it off
should probably be inverted at some point since it's just largely
50/50.
llvm-svn: 106367
2010-06-19 00:37:40 +00:00
Bruno Cardoso Lopes
1e205f6b1c
Shrink down code and add for free AVX {MIN,MAX}P{S,D}{rm,rr} instructions
...
llvm-svn: 106366
2010-06-19 00:37:31 +00:00
Chris Lattner
c60cecd88b
rip out dead code.
...
llvm-svn: 106365
2010-06-19 00:34:14 +00:00
Chris Lattner
e808a78ac1
fix rdar://7873482 by teaching the instruction encoder to emit
...
segment prefixes. Daniel wrote most of this patch.
llvm-svn: 106364
2010-06-19 00:34:00 +00:00
Evan Cheng
e5fcd333da
Indentation and remove dead code.
...
llvm-svn: 106362
2010-06-19 00:11:54 +00:00
Bruno Cardoso Lopes
1888f11887
Clean up: remove now unnecessary Constraints
...
llvm-svn: 106361
2010-06-19 00:09:27 +00:00
Dan Gohman
5fc43eb186
Silence compiler warnings.
...
llvm-svn: 106360
2010-06-19 00:02:06 +00:00
Bruno Cardoso Lopes
502c4fe61c
more refactoring! yay! big win over the intrinsics
...
llvm-svn: 106359
2010-06-19 00:00:22 +00:00
Eric Christopher
6bdbdb5544
Remove isTwoAddress from here too.
...
llvm-svn: 106358
2010-06-18 23:56:07 +00:00
Bruno Cardoso Lopes
66d2d57d9b
Fix typo, SSE1 should be used by XS, not SSE2
...
llvm-svn: 106357
2010-06-18 23:53:27 +00:00
Eric Christopher
3577c1b811
Remove isTwoAddress from 64-bit files.
...
llvm-svn: 106356
2010-06-18 23:51:21 +00:00
Evan Cheng
119824ed4d
Move ARM if-conversion before post-ra scheduling.
...
llvm-svn: 106355
2010-06-18 23:32:07 +00:00
Dan Gohman
8693650422
Teach regular and fast isel to set dead flags on unused implicit defs
...
on calls and similar instructions.
llvm-svn: 106353
2010-06-18 23:28:01 +00:00
Fariborz Jahanian
0bf5ee74c4
More Sema Check and a test case for init_priority attr.
...
(radar 8076356).
llvm-svn: 106350
2010-06-18 23:14:53 +00:00
Bruno Cardoso Lopes
2bfad417a1
Apply some refactor to packed instructions
...
llvm-svn: 106349
2010-06-18 23:13:35 +00:00
Evan Cheng
4f0781c9b3
Update cmake list.
...
llvm-svn: 106348
2010-06-18 23:12:10 +00:00
Evan Cheng
285935939d
Thumb2 hazard recognizer.
...
llvm-svn: 106347
2010-06-18 23:11:35 +00:00
Jakob Stoklund Olesen
678927e0b1
Only run CoalesceExtSubRegs when we can expect LiveIntervalAnalysis to clean up
...
the inserted INSERT_SUBREGs after us.
llvm-svn: 106345
2010-06-18 23:10:20 +00:00
Evan Cheng
2d51c7c592
Allow ARM if-converter to be run after post allocation scheduling.
...
- This fixed a number of bugs in if-converter, tail merging, and post-allocation
scheduler. If-converter now runs branch folding / tail merging first to
maximize if-conversion opportunities.
- Also changed the t2IT instruction slightly. It now defines the ITSTATE
register which is read by instructions in the IT block.
- Added Thumb2 specific hazard recognizer to ensure the scheduler doesn't
change the instruction ordering in the IT block (since IT mask has been
finalized). It also ensures no other instructions can be scheduled between
instructions in the IT block.
This is not yet enabled.
llvm-svn: 106344
2010-06-18 23:09:54 +00:00
Jim Grosbach
a57c2885cf
back-end libcall handling for ATOMIC_SWAP (__sync_lock_test_and_set)
...
llvm-svn: 106342
2010-06-18 23:03:10 +00:00
Eric Christopher
a4f06da5f1
Another typo.
...
llvm-svn: 106340
2010-06-18 22:51:25 +00:00
Jordy Rose
c0fe8429f2
Fold additive constants, and support comparsions of the form $sym+const1 <> const2
...
llvm-svn: 106339
2010-06-18 22:49:11 +00:00
Chris Lattner
ed8b6b799d
introduce a new CharSourceRange class, and enhance the diagnostics routines
...
to use them instead of SourceRange. CharSourceRange is just a SourceRange
plus a bool that indicates whether the range has the end character resolved
or whether the end location is the start of the end token. While most of
the compiler wants to think of ranges that have ends that are the start of
the end token, the printf diagnostic stuff wants to highlight ranges within
tokens.
This is transparent to the diagnostic stuff. To start taking advantage of
the new capabilities, you can do something like this:
Diag(..) << CharSourceRange::getCharRange(Begin,End)
llvm-svn: 106338
2010-06-18 22:45:06 +00:00
Jim Grosbach
6860bb7796
Enable Expand handling of atomics for subtargets that can't do them inline.
...
llvm-svn: 106336
2010-06-18 22:35:32 +00:00
Eric Christopher
64ae6577ba
Fix typo.
...
llvm-svn: 106335
2010-06-18 22:33:17 +00:00
Jakob Stoklund Olesen
07f4fa8198
TwoAddressInstructionPass::CoalesceExtSubRegs can insert INSERT_SUBREG
...
instructions, but it doesn't really understand live ranges, so the first
INSERT_SUBREG uses an implicitly defined register.
Fix it in LiveVariableAnalysis by adding the <undef> flag.
llvm-svn: 106333
2010-06-18 22:29:44 +00:00