summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-18149-1624/+1623
| | | | llvm-svn: 135375
* fix a warning in TinyPtrVector, adopt it in SSAUpdater, saving someChris Lattner2011-07-181-3/+3
| | | | | | mallocs. llvm-svn: 135366
* Simplify & microoptimize code. No intended functionality change.Benjamin Kramer2011-07-181-4/+2
| | | | llvm-svn: 135364
* Minor code cleanupsNadav Rotem2011-07-171-7/+6
| | | | llvm-svn: 135362
* tidy upChris Lattner2011-07-171-9/+9
| | | | llvm-svn: 135360
* Silence compiler warnings.Benjamin Kramer2011-07-161-5/+4
| | | | llvm-svn: 135358
* Remove unused LoopRanges from RegAllocGreedy.Jakub Staszak2011-07-161-6/+0
| | | | llvm-svn: 135354
* Remove "LoopInfo.h" include from BranchProbabilityInfo.h.Jakub Staszak2011-07-161-0/+5
| | | | llvm-svn: 135353
* Add MachineBlockFrequency analysis.Jakub Staszak2011-07-162-0/+60
| | | | llvm-svn: 135352
* Revert r135319 in an attempt to get to unbreak testers.Owen Anderson2011-07-162-27/+48
| | | | llvm-svn: 135343
* 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
OpenPOWER on IntegriCloud