summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Silence unused variable warningMatt Beaumont-Gay2011-07-161-0/+1
| | | | llvm-svn: 135339
* indvars: fix a pass-sensitivity issue that would hit the SCEVExpanderAndrew Trick2011-07-161-2/+13
| | | | | | | assertion I added in r135333. Check for the existence of a preheader before expanding a recurrence. llvm-svn: 135335
* indvars: remove ExprToIVMap because it won't be needed by LFTR.Andrew Trick2011-07-161-9/+3
| | | | llvm-svn: 135334
* Fix SCEVEXpander to handle arbitrary phi expansion. Includes twoAndrew Trick2011-07-161-7/+18
| | | | | | | related bug fixes and corresponding assertions for uninitialized data and missing NULL check. Test cases will be included with the new LFTR. llvm-svn: 135333
* Add AVX 128-bit patterns for sint_to_fpBruno Cardoso Lopes2011-07-161-0/+20
| | | | llvm-svn: 135332
* He said *before* the last split point.Jakob Stoklund Olesen2011-07-161-1/+1
| | | | | | | This should unbreak the build-self-4-mingw32 tester. I have a very complicated test case that I will try to clean up. llvm-svn: 135329
* fix rdar://9776316 - type remapping needed for inline asm blobs,Chris Lattner2011-07-151-1/+17
| | | | | | fixing some objc llvm-test crashes with LTO. llvm-svn: 135324
* deconstify getType()'s.Chris Lattner2011-07-151-1/+1
| | | | llvm-svn: 135323
* LegalizeDAG doesn't need its own copy of this enum.Dan Gohman2011-07-151-7/+1
| | | | llvm-svn: 135320
* Get rid of the separate opcodes for the Darwin versions of tBL, tBLXi, and ↵Owen Anderson2011-07-152-48/+27
| | | | | | tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change. llvm-svn: 135319
* Delete LegalizeDAG's own version of isTypeLegal and getTypeActionDan Gohman2011-07-151-26/+16
| | | | | | and just use the ones from TargetLowering directly. llvm-svn: 135318
* Fix a couple of things:Bruno Cardoso Lopes2011-07-151-61/+52
| | | | | | | | | | | | | | | | | | | | | | | | 1) Make non-legal 256-bit loads to be promoted to v4i64. This lets us canonize the loads and handle things the same way we use to handle for 128-bit registers. Despite of what one of the removed comments explained, the load promotion would not mess with VPERM, it's only a matter of doing the appropriate bitcasts when this instructions comes to be introduced. Also make LOAD v8i32 legal. 2) Doing 1) exposed two bugs: - v4i64 was being promoted to itself for several opcodes (introduced in r124447 by David Greene) causing endless recursion and the stack to explode. - there was no support for allOnes BUILD_VECTORs and ANDNP would fail to match because it was generating early target constant pools during lowering. 3) The testcases are already checked-in, doing 1) exposed the bugs in the current testcases. 4) Tidy up code to be more clear and explicit about AVX. llvm-svn: 135313
* Add a few patterns for 256-bit bitcasts. No testcases now, they areBruno Cardoso Lopes2011-07-151-0/+9
| | | | | | comming together with other tests. llvm-svn: 135312
* Delete an unused variable and a redundant assert.Dan Gohman2011-07-151-9/+1
| | | | llvm-svn: 135311
* Extract parts of RAGreedy::splitAroundRegion as SplitKit methods.Jakob Stoklund Olesen2011-07-153-299/+308
| | | | | | | | | | | This gets rid of some of the gory splitting details in RAGreedy and makes them available to future SplitKit clients. Slightly generalize the functionality to support multi-way splitting. Specifically, SplitEditor::splitLiveThroughBlock() supports switching between different register intervals in a block. llvm-svn: 135307
* Modernize comments.Dan Gohman2011-07-151-7/+4
| | | | llvm-svn: 135305
* PR10370: Make sure we know how to relax push correctly on x86-64.Eli Friedman2011-07-151-0/+3
| | | | llvm-svn: 135303
* Use DebugLoc directly to map inlined functions' instructions to respective ↵Devang Patel2011-07-152-5/+9
| | | | | | lexical scope. llvm-svn: 135302
* Fix pointer heuristic. Check whether predicator is ICMP_NE instead of if it isJakub Staszak2011-07-151-2/+2
| | | | | | not isEquality(). llvm-svn: 135296
* Remove VMOVDneon and VMOVQ, which are just aliases for VORR. This continues ↵Owen Anderson2011-07-155-19/+14
| | | | | | to simplify the path towards an auto-generated disassembler. llvm-svn: 135290
* ObjectFile: Add a method to check whether a section contains a symbol.Benjamin Kramer2011-07-153-0/+37
| | | | | | | - No ELF or COFF implementation yet, I don't have a way to test that. Should be straightforward to add though. llvm-svn: 135288
* Disable loop idiom recognition of memset/memcpy if the function being compiledChad Rosier2011-07-151-0/+5
| | | | | | | | | is named after a common idiom (i.e., memset/memcpy). Otherwise, we can run into infinite recursion. Ideally, the user should use the correct -fno-builtin flag, but in case they don't we should play nicely. rdar://9763412 llvm-svn: 135286
* Remove unnecessary duplicate instruction definitions that simply overloaded ↵Owen Anderson2011-07-151-9/+8
| | | | | | the type of VEXT. This can be achieved with a Pat definition, and is much more disassembler friendly. llvm-svn: 135283
* MachOObjectFile: Get symbol functions ready for 64 bit.Benjamin Kramer2011-07-151-13/+58
| | | | llvm-svn: 135282
* No need to explicitly invoke the ArrayRef constructor here.Frits van Bommel2011-07-151-1/+1
| | | | llvm-svn: 135281
* Eliminate redundant map.Devang Patel2011-07-152-12/+3
| | | | llvm-svn: 135278
* Eliminate "const" from extern const to fix breakeage since r135184 on msvc.NAKAMURA Takumi2011-07-152-2/+2
| | | | | | MSVC decorates (and distinguishes) "const" in mangler. It brought linkage error between "extern const" declarations and definitions. llvm-svn: 135269
* In Twine::str(), if the Twine stores only a std::string, just return a ↵Frits van Bommel2011-07-151-3/+8
| | | | | | direct copy of that instead of first copying to a SmallString and converting that to a std::string. Also fix some indentation. llvm-svn: 135267
* Convert CallInst and InvokeInst APIs to use ArrayRef.Jay Foad2011-07-1526-158/+85
| | | | llvm-svn: 135265
* Explicitly cast the second argument to unsigned in order to select theChandler Carruth2011-07-151-1/+1
| | | | | | | | | desired overload. This is a bit of a hackish workaround to fix the compile after r135259. Let me know if there is a better approach. llvm-svn: 135261
* Add an APFloat::convertToInt(APSInt) function that automatically manages theJeffrey Yasskin2011-07-151-0/+18
| | | | | | memory for the result. llvm-svn: 135259
* Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.Evan Cheng2011-07-151-13/+5
| | | | llvm-svn: 135254
* remove the old and dangerous uncheckedReplaceAllUsesWith method,Chris Lattner2011-07-152-28/+14
| | | | | | | which was just replaceAllUsesWith without some assertions. It was needed back when type refinement was alive. llvm-svn: 135253
* devirtualize Constant::isNullValue:Chris Lattner2011-07-151-5/+14
| | | | | | 4 files changed, 15 insertions(+), 60 deletions(-) llvm-svn: 135252
* start using the new helper methods a bit.Chris Lattner2011-07-154-23/+21
| | | | llvm-svn: 135251
* add CFP::isNegative() and ConstnatInt::isNegative() methods.Chris Lattner2011-07-151-0/+9
| | | | | | Devirtualize the isNegativeZeroValue method. llvm-svn: 135249
* bump pointer allocate LLVM IR types, since they are never deallocated.Chris Lattner2011-07-153-38/+23
| | | | llvm-svn: 135248
* remove the InvalidateStructLayoutInfo API, which is dead and unnecessary nowChris Lattner2011-07-152-23/+0
| | | | | | that type refinement is toast. llvm-svn: 135245
* Remove an unnecessary header from this file. I don't think this headerChandler Carruth2011-07-151-1/+0
| | | | | | | | | | was really intended, and it may have been required prior to some of the recent refactors. Including it however causes LLVMX86Desc to need symbols from LLVMX86CodeGen, forming a dependency cycle. This was masked in almost all builds: Clang, and GCC w/ optimizations didn't actually emit the symbols! llvm-svn: 135242
* Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatestEvan Cheng2011-07-1519-67/+98
| | | | | | | solution but it is a small step towards removing the horror that is TargetAsmInfo. llvm-svn: 135237
* Remove setting the bit for personality function. It should be set by the linker.Bill Wendling2011-07-151-3/+0
| | | | llvm-svn: 135236
* Major update to CMake build to reflect changes in r135219 in theChandler Carruth2011-07-1510-10/+26
| | | | | | | | | | | | backend. Moved some MCAsmInfo files down into the MCTargetDesc sublibraries, removed some (i suspect long) dead files from other parts of the CMake build, etc. Also copied the include directory hack from the Makefile. Finally, updated the lib deps. I spot checked this, and think its correct, but review appreciated there. llvm-svn: 135234
* Do not get confused by multiple empty lexical scopes inlined at one location. Devang Patel2011-07-151-5/+13
| | | | llvm-svn: 135232
* Output MachO section names in the form SEGMENT,section.Benjamin Kramer2011-07-151-2/+2
| | | | llvm-svn: 135231
* Add support for 64 bit objects to MachOObjectFile.Benjamin Kramer2011-07-151-21/+77
| | | | | | - I don't see a better way than duplicating all the code. llvm-svn: 135229
* MachOObjectFile: Change isSectionText to return true for sections named ↵Benjamin Kramer2011-07-151-4/+3
| | | | | | text, not for load commands name __TEXT (which isn't the case in actual object files) llvm-svn: 135228
* Encode that we have a personality function.Bill Wendling2011-07-151-0/+3
| | | | llvm-svn: 135227
* Rename createAsmInfo to createMCAsmInfo and move registration code to ↵Evan Cheng2011-07-1476-175/+229
| | | | | | MCTargetDesc to prepare for next round of changes. llvm-svn: 135219
* * If we have an LSDA, we need to mark it in the encoding.Bill Wendling2011-07-141-1/+5
| | | | | | * The personality function should be encoded as an absolute pointer to the function. llvm-svn: 135215
* Refactor.Devang Patel2011-07-142-19/+9
| | | | llvm-svn: 135212
OpenPOWER on IntegriCloud