summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use internal storage for command line option.Benjamin Kramer2011-09-032-6/+4
| | | | llvm-svn: 139079
* Make helpers static, remove unused variables.Benjamin Kramer2011-09-033-9/+5
| | | | llvm-svn: 139078
* Teach -Wdangling-field to warn about temporaries bound to references asChandler Carruth2011-09-033-9/+57
| | | | | | | | | | | | | well. Also, clean up the flow of the code a bit, and factor things more nicely. Finally, add the test case that was missing from my previous commit (sorry), with new tests added to cover temporaries and other fun cases. llvm-svn: 139077
* Don't reload the values that are already there. The llvm.eh.resume uses the sameBill Wendling2011-09-031-7/+4
| | | | | | | values that the resume instruction uses. PR10850 llvm-svn: 139076
* Add a simple new warning to catch blatantly dangling pointer andChandler Carruth2011-09-032-2/+61
| | | | | | | | | | | | | | | | | reference members of classes. We've had several bugs reported because of this, and there's no reason not to flag it right away in the compiler. Comments especially welcome on the strategy for implementing this warning (IE, what should trigger this?) and on the text of the warning itself. I'm going to extend this to cover obvious cases with temporaries and beef up the test cases some in subsequent patches. I'll then run it over a large codebase and make sure its not misbehaving before I add it to -Wall or turn it on by default. I think this one might be a good candidate for on by default. llvm-svn: 139075
* Exclude more arm jit failures pending PR10783.Andrew Trick2011-09-032-3/+4
| | | | llvm-svn: 139074
* Add AVX versions to match AESENC/AESDEC intrinsics. This hopefully endsBruno Cardoso Lopes2011-09-031-16/+37
| | | | | | the cycle of missing AVX counterparts of already present SSE* patterns llvm-svn: 139073
* Add AVX version of a SSE4.1 VPBLENDVB patternBruno Cardoso Lopes2011-09-031-1/+5
| | | | llvm-svn: 139072
* Add AVX versions of SSE4.1 EXTRACTPS patternsBruno Cardoso Lopes2011-09-031-1/+6
| | | | llvm-svn: 139071
* Add AVX versions for SSE4.1 MOVZX* patternsBruno Cardoso Lopes2011-09-031-48/+112
| | | | llvm-svn: 139070
* Add one more AVX pattern for MOVZPQILo2PQIBruno Cardoso Lopes2011-09-031-6/+8
| | | | llvm-svn: 139069
* Move PUNPCKLQDQ splat pattern close to the instruction definition andBruno Cardoso Lopes2011-09-031-7/+8
| | | | | | duplicate it for AVX mode. llvm-svn: 139068
* Add AVX pattern versions for PSHUFB,PSIGN{B,W,D}Bruno Cardoso Lopes2011-09-031-11/+27
| | | | llvm-svn: 139067
* Add AVX versions of MOVZDI2PDI patterns. Use SUBREG_TO_REG to indicateBruno Cardoso Lopes2011-09-031-17/+45
| | | | | | | that the AVX versions (even the 128-bit ones) all clear the upper part of the destination register. llvm-svn: 139066
* Enforce subtarget checks in a few places to be explicit when theBruno Cardoso Lopes2011-09-031-29/+33
| | | | | | pattern should be matched llvm-svn: 139065
* Tidy up code moving patterns to their appropriate place!Bruno Cardoso Lopes2011-09-031-111/+94
| | | | llvm-svn: 139064
* Add AVX versions of FsMOVAPS and FsMOVAPS. Teach X86InstrInfo how to useBruno Cardoso Lopes2011-09-032-3/+25
| | | | | | it! llvm-svn: 139063
* Teach X86FastISel to use AVX versions of instructions when possibleBruno Cardoso Lopes2011-09-031-18/+26
| | | | llvm-svn: 139062
* Fix 80-column and styleBruno Cardoso Lopes2011-09-031-51/+51
| | | | llvm-svn: 139061
* Tidy up some SSE/AVX convert intrinsics. Also add an AVX version ofBruno Cardoso Lopes2011-09-031-18/+26
| | | | | | OptForSize pattern llvm-svn: 139060
* Fix a truly heinous bug in DAGCombine related to AssertZext.Owen Anderson2011-09-031-7/+6
| | | | | | | If we have a chain of zext -> assert_zext -> zext -> use, the first zext would get simplified away because of the later zext, and then the later zext would get simplified away because of the assert. The solution is to teach SimplifyDemandedBits that assert_zext demands all of the high bits of its input, rather than only those demanded by its users. No testcase because the only example I have manifests as llvm-gcc miscompiling LLVM, and I haven't found a smaller case that reproduces this problem. Fixes <rdar://problem/10063365>. llvm-svn: 139059
* Revert r129875, XFAILing this test for arm, since the fix was reverted.Dan Gohman2011-09-031-0/+1
| | | | llvm-svn: 139058
* Pseudo CMOV instructions don't clobber EFLAGS.Jakob Stoklund Olesen2011-09-023-19/+9
| | | | | | | | | | | | | | The explanation about a 0 argument being materialized as xor is no longer valid. Rematerialization will check if EFLAGS is live before clobbering it. The code produced by X86TargetLowering::EmitLoweredSelect does not clobber EFLAGS. This causes one less testb instruction to be generated in the cmov.ll test case. llvm-svn: 139057
* Check for EFLAGS live-out before clobbering it.Jakob Stoklund Olesen2011-09-021-8/+10
| | | | | | | It is only allowed to clobber EFLAGS at the end of a block if it isn't live-in to any successor. llvm-svn: 139056
* Use existing function.Jakob Stoklund Olesen2011-09-021-7/+3
| | | | llvm-svn: 139055
* Thumb2 parsing and encoding for CBZ/CBNZ.Jim Grosbach2011-09-021-0/+6
| | | | llvm-svn: 139054
* Thumb2 parsing and encoding for BXJ.Jim Grosbach2011-09-022-6/+16
| | | | llvm-svn: 139053
* Thumb2 parsing and encoding for BIC.Jim Grosbach2011-09-021-0/+37
| | | | llvm-svn: 139052
* Thumb2 parsing and encoding for BFI.Jim Grosbach2011-09-021-0/+12
| | | | llvm-svn: 139051
* Thumb2 parsing and encoding for BFC.Jim Grosbach2011-09-021-0/+13
| | | | llvm-svn: 139050
* Thumb2 parsing and encoding of B instruction.Jim Grosbach2011-09-022-9/+32
| | | | | | | Tweak handling of IT blocks a bit to enable this. The differentiation between B and Bcc needs special sauce. llvm-svn: 139049
* Attempt to silence known valgrind errors.Andrew Trick2011-09-021-0/+5
| | | | llvm-svn: 139048
* Remove unused variables.Jakob Stoklund Olesen2011-09-021-4/+0
| | | | llvm-svn: 139047
* Try to eliminate the use of the 'unwind' instruction.Bill Wendling2011-09-0211-11/+23
| | | | llvm-svn: 139046
* Don't fast-isel for atomic load/store; some cases require extra handling ↵Eli Friedman2011-09-024-0/+18
| | | | | | missing from fast-isel. llvm-svn: 139044
* Revise test and see if it passes with a release-built clang.Fariborz Jahanian2011-09-021-4/+4
| | | | llvm-svn: 139043
* Fix some indenting issues in SemaExpr.cppRichard Trieu2011-09-021-4/+3
| | | | llvm-svn: 139042
* blocks: Support capturing complex variable in block.Fariborz Jahanian2011-09-022-0/+21
| | | | | | // rdar://10033896 llvm-svn: 139041
* Thumb2 parsing and encoding for ASR.Jim Grosbach2011-09-022-12/+75
| | | | | | | For other shift and rotate instructions, too. Tests for those forthcoming as I work my way through the ISA. llvm-svn: 139040
* Better fix for this testcase. Update it to the new EH scheme entirely.Bill Wendling2011-09-021-6/+7
| | | | llvm-svn: 139039
* Update for new EH stuff. (I'm not sure if this is 100% correct.)Bill Wendling2011-09-021-1/+1
| | | | llvm-svn: 139038
* Test case update for unroll-scev.Andrew Trick2011-09-022-8/+13
| | | | llvm-svn: 139037
* Comment and clarifying assert.Andrew Trick2011-09-022-2/+4
| | | | llvm-svn: 139036
* No need to get fancy inserting a PHI node when the values are stored in stackBill Wendling2011-09-021-43/+15
| | | | | | | | slots. This fixes a bug where the number of nodes coming into the PHI node may not equal the number of predecessors. E.g., two or more landingpad instructions may require a PHI before reaching the eh.exception and eh.selector instructions. llvm-svn: 139035
* Watchpoint work in progress:Johnny Chen2011-09-025-0/+71
| | | | | | | | | | | Add a virtual method GetHardwareWatchpointHit() to the DNBArchProtocol base class which consults the architecture to return the watchpoint hit; otherwise return an invalid index. Add impl. of the method to X86_64 and I386 subclasses, plus reset the debug status register before we resume execution of the inferior thread. llvm-svn: 139034
* Refactor UsualArithmeticConversions() in SemaExpr.cpp into several functions.Richard Trieu2011-09-021-251/+291
| | | | llvm-svn: 139033
* Fix const correctness bug in __move_assign. Found and fixed by Ion Gaztañaga.Howard Hinnant2011-09-025-14/+14
| | | | llvm-svn: 139032
* Make RecordVal Name an InitDavid Greene2011-09-022-3/+16
| | | | | | | | | Store a RecordVal's name as an Init to allow class-qualified Record members to reference Records that have Init names. We'll use this to provide more programmability in how we name defs and their associated members. llvm-svn: 139031
* revert patch in r139020Fariborz Jahanian2011-09-022-20/+5
| | | | llvm-svn: 139029
* Change X86 disassembly to print immediates values as signed by default. SpecialKevin Enderby2011-09-023-1/+92
| | | | | | case those instructions that the immediate is not sign-extend. radr://8795217 llvm-svn: 139028
OpenPOWER on IntegriCloud