summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a nasty bug in the type remapping stuff that I added that is breaking ↵Chris Lattner2011-12-201-1/+8
| | | | | | | | | | | | | | | | kc++ on the build bot in some cases. The basic issue happens when a source module contains both a "%foo" type and a "%foo.42" type. It will see the later one, check to see if the destination module contains a "%foo" type, and it will return true... because both the source and destination modules are in the same LLVMContext. We don't want to map source types to other source types, so don't do the remapping if the mapped type came from the source module. Unfortunately, I've been unable to reduce a decent testcase for this, kc++ is pretty great that way. llvm-svn: 147010
* ARM .req register name aliases are case insensitive, just like regnames.Jim Grosbach2011-12-201-3/+4
| | | | llvm-svn: 147009
* Add function MipsDAGToDAGISel::SelectMULT and factor out code that generatesAkira Hatanaka2011-12-202-37/+55
| | | | | | | nodes needed for multiplication. Add code for selecting 64-bit MULHS and MULHU nodes. llvm-svn: 147008
* Fix indentation.Akira Hatanaka2011-12-201-115/+115
| | | | llvm-svn: 147007
* PR11297: Provide a better diagnostic for code which contains aRichard Smith2011-12-203-0/+40
| | | | | | | | reasonable-looking but ill-formed for-range statement of the form: for (expression : expression) llvm-svn: 147006
* 64-bit data directive.Akira Hatanaka2011-12-202-1/+12
| | | | llvm-svn: 147005
* 32-to-64-bit sext_inreg pattern.Akira Hatanaka2011-12-202-0/+13
| | | | llvm-svn: 147004
* Add 64-bit extload patterns.Akira Hatanaka2011-12-201-2/+12
| | | | llvm-svn: 147003
* [analyzer] Do not invalidate arguments when the parameter'sAnna Zaks2011-12-208-11/+152
| | | | | | | | | | | | | type is a pointer to const. (radar://10595327) The regions corresponding to the pointer and reference arguments to a function get invalidated by the calls since a function call can possibly modify the pointed to data. With this change, we are not going to invalidate the data if the argument is a pointer to const. This change makes the analyzer more optimistic in reporting errors. (Support for C, C++ and Obj C) llvm-svn: 147002
* Add patterns for matching extloads with 64-bit address. The patterns are enabledAkira Hatanaka2011-12-201-5/+13
| | | | | | only when the target ABI is N64. llvm-svn: 147001
* Move comment to appropriate place.Jim Grosbach2011-12-201-1/+1
| | | | llvm-svn: 147000
* Add code in MipsDAGToDAGISel for selecting constant +0.0.Akira Hatanaka2011-12-202-0/+13
| | | | | | MIPS64 can generate constant +0.0 with a single DMTC1 instruction. llvm-svn: 146999
* objc/c++: Issue diagnostic when free-standing ivar is accessed Fariborz Jahanian2011-12-202-0/+32
| | | | | | in class method instead of crash. // rdar://10593227 llvm-svn: 146998
* Heed spill slot alignment on ARM.Jakob Stoklund Olesen2011-12-204-5/+27
| | | | | | | | | | | Use the spill slot alignment as well as the local variable alignment to determine when the stack needs to be realigned. This works now that the ARM target can always realign the stack by using a base pointer. Still respect the ARMBaseRegisterInfo::canRealignStack() function vetoing a realigned stack. Don't use aligned spill code in that case. llvm-svn: 146997
* Revert part of r146995 that was accidentally commmitted.Akira Hatanaka2011-12-201-6/+0
| | | | llvm-svn: 146996
* 32-to-64-bit sign extension pattern.Akira Hatanaka2011-12-202-0/+8
| | | | llvm-svn: 146995
* When we make a previously-deserialized module definition visible,Douglas Gregor2011-12-206-3/+24
| | | | | | | notify the AST deserialization listener so that the AST writer knows that it can write the macro definition. llvm-svn: 146994
* Fix inversion of static analyzer path diagnostics for path conditions.Ted Kremenek2011-12-202-182/+310
| | | | llvm-svn: 146993
* Add a pattern for matching zero-store with 64-bit address. The pattern is ↵Akira Hatanaka2011-12-201-1/+4
| | | | | | | | enabled only when the target ABI is N64. llvm-svn: 146992
* ARM assembly parsing and encoding for VST2 single-element, double spaced.Jim Grosbach2011-12-203-41/+147
| | | | llvm-svn: 146990
* Add new and delete operatorsHoward Hinnant2011-12-201-0/+194
| | | | llvm-svn: 146989
* Fix a crash on invalid, http://llvm.org/pr11599Nico Weber2011-12-202-2/+17
| | | | llvm-svn: 146988
* Fix assert condition.Lang Hames2011-12-201-1/+1
| | | | llvm-svn: 146987
* Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo.Jakub Staszak2011-12-2011-18/+33
| | | | llvm-svn: 146986
* ARM enable a few more tests.Jim Grosbach2011-12-201-4/+4
| | | | llvm-svn: 146985
* Add support to add named metadata operand.Devang Patel2011-12-202-0/+13
| | | | | | Patch by Andrew Wilkins! llvm-svn: 146984
* ARM assembly parsing and encoding for VLD2 single-element, double spaced.Jim Grosbach2011-12-203-47/+177
| | | | llvm-svn: 146983
* Let the KNR promotion warning be disabled.Roman Divacky2011-12-203-3/+4
| | | | | | Patch by Dimitry Andric! llvm-svn: 146982
* ARM target code clean up. Check for iOS, not Darwin where it makes sense.Evan Cheng2011-12-2025-109/+110
| | | | llvm-svn: 146981
* When performing name lookup for a redeclaration, ignore moduleDouglas Gregor2011-12-2014-77/+52
| | | | | | | | | | | | | | | | | | | | | visibility restrictions. This ensures that all declarations of the same entity end up in the same redeclaration chain, even if some of those declarations aren't visible. While this may seem unfortunate to some---why can't two C modules have different functions named 'f'?---it's an acknowedgment that a module does not introduce a new "namespace" of names. As part of this, stop merging the 'module-private' bit from previous declarations to later declarations, because we want each declaration in a module to stand on its own because this can effect, for example, submodule visibility. Note that this notion of names that are invisible to normal name lookup but are available for redeclaration lookups is how we should implement friend declarations and extern declarations within local function scopes. I'm not tackling that problem now. llvm-svn: 146980
* Updating Xcode project version numbers for lldb-97 and debugserver-157Sean Callanan2011-12-203-22/+22
| | | | llvm-svn: 146978
* First steps in ARM AsmParser support for .eabi_attribute and .archJason W Kim2011-12-201-0/+18
| | | | | | | (Both used for Linux gnueabi) No behavioral change yet (no tests need so far) llvm-svn: 146977
* When performing layout for an Objective-C class, make sure to dig outDouglas Gregor2011-12-202-1/+9
| | | | | | the definition of that class. Fixes PR11613 / <rdar://problem/10604077>. llvm-svn: 146976
* This is the second fix related to VZEXT_MOVL node.Elena Demikhovsky2011-12-202-1/+15
| | | | | | | | | | | | | | | | | | | | The failure that I see in the current version is: LLVM ERROR: Cannot select: 0x18b8f70: v4i64 = X86ISD::VZEXT_MOVL 0x18beee0 [ID=14] 0x18beee0: v4i64 = insert_subvector 0x18b8c70, 0x18b9170, 0x18b9570 [ID=13] 0x18b8c70: v4i64 = insert_subvector 0x18b9870, 0x18bf4e0, 0x18b9970 [ID=12] 0x18b9870: v4i64 = undef [ID=4] 0x18bf4e0: v2i64 = bitcast 0x18bf3e0 [ID=10] 0x18bf3e0: v4i32 = BUILD_VECTOR 0x18b9770, 0x18b9770, 0x18b9770, 0x18b9770 [ID=8] 0x18b9770: i32 = TargetConstant<0> [ID=6] 0x18b9770: i32 = TargetConstant<0> [ID=6] 0x18b9770: i32 = TargetConstant<0> [ID=6] 0x18b9770: i32 = TargetConstant<0> [ID=6] 0x18b9970: i32 = Constant<0> [ID=3] 0x18b9170: v2i64 = undef [ORD=1] [ID=1] 0x18b9570: i32 = Constant<2> [ID=5] llvm-svn: 146975
* Begin teaching the X86 target how to efficiently codegen patterns thatChandler Carruth2011-12-203-21/+49
| | | | | | | | | | | | | | | use the zero-undefined variants of CTTZ and CTLZ. These are just simple patterns for now, there is more to be done to make real world code using these constructs be optimized and codegen'ed properly on X86. The existing tests are spiffed up to check that we no longer generate unnecessary cmov instructions, and that we generate the very important 'xor' to transform bsr which counts the index of the most significant one bit to the number of leading (most significant) zero bits. Also they now check that when the variant with defined zero result is used, the cmov is still produced. llvm-svn: 146974
* Fixes a potential compilation error.Manuel Klimek2011-12-202-13/+10
| | | | | | | Pulling the template implementation into the header to guarantee that it's visible to all possible instantiations. llvm-svn: 146973
* Support non-affine access functions in Polly.Tobias Grosser2011-12-208-6/+166
| | | | | | | | | | In case we can not analyze an access function, we do not discard the SCoP, but assume conservatively that all memory accesses that can be derived from our base pointer may be accessed. Patch provided by: Marcello Maggioni <hayarms@gmail.com> llvm-svn: 146972
* Pulls the implementation of skip() into JSONParser.Manuel Klimek2011-12-202-36/+35
| | | | | | | This is the first step towards migrating more of the parser implementation into the parser class. llvm-svn: 146971
* Fixing option for JSON benchmark broken since the change to size_t.Manuel Klimek2011-12-201-1/+1
| | | | llvm-svn: 146970
* Add AVX2 intrinsics for pavg, pblend, and pcmp instructions. Also remove ↵Craig Topper2011-12-205-17/+138
| | | | | | unneeded builtins for SSE pcmp. Change SSE pcmpeqq and pcmpgtq to not use builtins and just use vector == and >. llvm-svn: 146969
* Addressing style issues in JSON parser.Manuel Klimek2011-12-202-10/+6
| | | | llvm-svn: 146968
* Update the CMake build for r146959's new files.Chandler Carruth2011-12-205-0/+5
| | | | llvm-svn: 146967
* Fix up the CMake build for the new files added in r146960, they'reChandler Carruth2011-12-2016-0/+17
| | | | | | likely to stay either way that discussion ends up resolving itself. llvm-svn: 146966
* Revert pragma clang suppressions that confuse GCC. (I'll worry about how to ↵David Blaikie2011-12-201-5/+0
| | | | | | suppress/fix these problems properly when we figure out how to keep LLVM -Wweak-vtables clean) llvm-svn: 146965
* Add a few lines to the release notes:Nadav Rotem2011-12-201-0/+11
| | | | | | | | 1. pointer-vector 2. type legalizer changes and vector-select 3. X86 ISA changes. llvm-svn: 146964
* Relax type checking for a few Neon intrinsics. <rdar://problem/10538555>Bob Wilson2011-12-201-0/+11
| | | | | | | | | | | | Not long ago, I tightened up the type checking for pointer arguments of Neon intrinsics to match the specifications provided by ARM. One consequence was that it became impossible to access the unaligned versions of a few Neon load/store operations. Since there are just a few of these intrinsics where it makes a difference, I think it's better to relax the type checking than to either introduce new non-standard unaligned intrinsics or to disallow intrinsics for the unaligned operations. llvm-svn: 146963
* Fix off-by-one error in an assert condition. No functionality change, but betterRichard Smith2011-12-201-1/+1
| | | | | | error detection. llvm-svn: 146962
* Revert r146766, and add a testcase for which it introduced a wrong-code bug.Richard Smith2011-12-202-37/+32
| | | | llvm-svn: 146961
* Unweaken vtables as per ↵David Blaikie2011-12-20151-121/+742
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Unweaken vtables as per ↵David Blaikie2011-12-2080-14/+424
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146959
OpenPOWER on IntegriCloud