summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Use TSFlag bit to describe instruction properties.Brendon Cahoon2012-02-086-314/+208
| | | | | | | | Creating the isPredicated TSFlag enables the code to use the property defined in the instruction format instead of using a large switch statement. llvm-svn: 150078
* Keep track of register masks in LiveIntervalAnalysis.Jakob Stoklund Olesen2012-02-081-0/+62
| | | | | | | | | | | | | Build an ordered vector of register mask operands (i.e., calls) when computing live intervals. Provide a checkRegMaskInterference() function that computes a bit mask of usable registers for a live range. This is a quick way of determining of a live range crosses any calls, and restricting it to the callee saved registers if it does. Previously, we had to discover call clobbers for each candidate register independently. llvm-svn: 150077
* Use Use::set rather than finding the operand number of the useDuncan Sands2012-02-081-6/+3
| | | | | | and setting that. llvm-svn: 150074
* PathV2: Remove static StringRef ctors.Benjamin Kramer2012-02-081-4/+4
| | | | llvm-svn: 150071
* Fixed a bug in printing "cmp" pseudo ops.Elena Demikhovsky2012-02-084-41/+115
| | | | | | | | | | | | | | | | | | | | | | > This IR code > %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14) > fails with assertion: > > llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed. > 0 llc 0x0000000001355803 > 1 llc 0x0000000001355dc9 > 2 libpthread.so.0 0x00007f79a30575d0 > 3 libc.so.6 0x00007f79a23a1945 gsignal + 53 > 4 libc.so.6 0x00007f79a23a2f21 abort + 385 > 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240 > 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119 I added the full testing for all possible pseudo-ops of cmp. I extended X86AsmPrinter.cpp and X86IntelInstPrinter.cpp. You'l also see lines alignments (unrelated to this fix) in X86IselLowering.cpp from my previous check-in. llvm-svn: 150068
* Remove a couple unneeded intrinsic patternsCraig Topper2012-02-081-6/+0
| | | | llvm-svn: 150067
* Remove GCC builtins for vpermilp* intrinsics as clang no longer needs them. ↵Craig Topper2012-02-082-32/+15
| | | | | | Custom lower the intrinsics to the vpermilp target specific node and remove intrinsic patterns. llvm-svn: 150060
* [fast-isel] Add support for SUBs with non-legal types.Chad Rosier2012-02-081-0/+5
| | | | llvm-svn: 150047
* [fast-isel] Add support for ORs with non-legal types.Chad Rosier2012-02-081-2/+13
| | | | llvm-svn: 150045
* Added MachineInstr::isBundled() to check if an instruction is part of a bundle.Andrew Trick2012-02-082-1/+11
| | | | llvm-svn: 150044
* misched: bug in debug output.Andrew Trick2012-02-081-2/+4
| | | | llvm-svn: 150043
* stale commentAndrew Trick2012-02-081-2/+0
| | | | llvm-svn: 150041
* Add support for a temporary forward decl type. We want this so weEric Christopher2012-02-081-0/+22
| | | | | | | | can rauw forward declarations if we decide to emit the full type. Part of rdar://10809898 llvm-svn: 150024
* Remove tabs.Devang Patel2012-02-082-19/+19
| | | | llvm-svn: 150022
* [fast-isel] Add support for indirect branches.Chad Rosier2012-02-071-0/+13
| | | | llvm-svn: 150014
* Remove tabs.Devang Patel2012-02-071-17/+17
| | | | llvm-svn: 150012
* Use LEA to adjust stack ptr for Atom. Patch by Andy Zhang.Evan Cheng2012-02-074-21/+52
| | | | llvm-svn: 150008
* Correct use of const in ParseCommandLineOptionsDavid Blaikie2012-02-071-5/+5
| | | | llvm-svn: 149999
* Do not fold ADD / SUB into load / store (to form pre-indexed, post-indexedEvan Cheng2012-02-071-24/+58
| | | | | | | | load / store) if the ADD / SUB has a live definition of CPSR. Bug reported by David Meyer. Alas, no test case. llvm-svn: 149970
* Add instruction selection for 256-bit VPSHUFD and 128-bit VPERMILPS/VPERMILPD.Craig Topper2012-02-072-22/+32
| | | | llvm-svn: 149968
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0730-89/+66
| | | | llvm-svn: 149967
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0742-151/+106
| | | | llvm-svn: 149961
* Cache the sizes of vectors instead of calculating them all over the place.Bill Wendling2012-02-071-9/+11
| | | | llvm-svn: 149954
* Reserve space in these vectors to prevent having to grow the array tooBill Wendling2012-02-072-6/+8
| | | | | | much. This gets us an addition 0.9% on 445.gobmk. llvm-svn: 149952
* Fix win32 build breakage from bitcode streaming patchDerek Schuff2012-02-071-1/+4
| | | | llvm-svn: 149941
* [fast-isel] Add support for ADDs with non-legal types.Chad Rosier2012-02-061-5/+34
| | | | llvm-svn: 149934
* Expose TargetPassConfig to PEI PassAndrew Trick2012-02-062-0/+2
| | | | llvm-svn: 149927
* Add TargetPassConfig to the PassManager for use inside passesAndrew Trick2012-02-062-5/+7
| | | | llvm-svn: 149926
* The patch resolves the conflict between AddressSanitizer and load widening ↵Kostya Serebryany2012-02-061-0/+8
| | | | | | | | | (GVN). The problem initially reported by Mozilla folks (http://code.google.com/p/address-sanitizer/issues/detail?id=20), but it also prevents us from enabling LLVM bootstrap with AddressSanitizer. llvm-svn: 149925
* Fix comment-rulers.Nick Lewycky2012-02-062-2/+2
| | | | llvm-svn: 149922
* Don't explicitly renumber slot indices.Jakob Stoklund Olesen2012-02-061-2/+0
| | | | | | We have automatic local renumbering now. llvm-svn: 149920
* Enable streaming of bitcodeDerek Schuff2012-02-0614-90/+415
| | | | | | | This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
* Remove some dead code and tidy things up now that vectors use ConstantDataVectorChris Lattner2012-02-068-107/+39
| | | | | | instead of always using ConstantVector. llvm-svn: 149912
* Make sure a reserved register has a live interval before merging.Jakob Stoklund Olesen2012-02-061-1/+5
| | | | llvm-svn: 149910
* [unwind removal] Remove all of the code for the dead 'unwind' instruction. ThereBill Wendling2012-02-068-93/+6
| | | | | | | were no 'unwind' instructions being generated before this, so this is in effect a no-op. llvm-svn: 149906
* [unwind removal] Don't write out the dead 'unwind' instruction.Bill Wendling2012-02-061-3/+0
| | | | llvm-svn: 149905
* [unwind removal] We no longer have 'unwind' instructions being generated, soBill Wendling2012-02-0611-134/+9
| | | | | | remove the code that handles them. llvm-svn: 149901
* 'unwind' is a keyword, not an instruction.Bill Wendling2012-02-062-2/+3
| | | | llvm-svn: 149898
* [unwind removal] Remove the 'unwind' instruction parsing bits.Bill Wendling2012-02-062-5/+0
| | | | llvm-svn: 149897
* Introduce helpers to compute the 32-bit varaints and 64-bit variants ofChandler Carruth2012-02-061-0/+74
| | | | | | | some architectures. These are useful for interacting with multiarch or bi-arch GCC (or GCC-based) toolchains. llvm-svn: 149895
* Test commit; also removes some trailing whitespaceDerek Schuff2012-02-061-3/+3
| | | | llvm-svn: 149887
* DebugInfo: Provide a new hook to encode relationship between a property and ↵Devang Patel2012-02-063-0/+42
| | | | | | an ivar. llvm-svn: 149874
* X86: Don't call malloc for 4 bits. No functionality change.Benjamin Kramer2012-02-061-4/+3
| | | | llvm-svn: 149866
* Make helper static.Benjamin Kramer2012-02-061-3/+3
| | | | llvm-svn: 149865
* Hexagon: Remove forbidden iostream includes (it introduces static initializers)Benjamin Kramer2012-02-068-73/+46
| | | | | | Reorder includes while at it. llvm-svn: 149863
* Split part of EvaluateFunction into a new EvaluateBlock method. No functionalityNick Lewycky2012-02-061-57/+95
| | | | | | change. llvm-svn: 149861
* Move some llvm_unreachable's from r149849 out of switch statements to ↵Craig Topper2012-02-061-2/+2
| | | | | | satisfy -Wcovered-switch-default llvm-svn: 149860
* Add shuffle decoding support for 256-bit pshufd. Merge vpermilp* and pshufd ↵Craig Topper2012-02-064-84/+70
| | | | | | decoding. llvm-svn: 149859
* fix indentationSebastian Pop2012-02-061-9/+9
| | | | llvm-svn: 149857
* fix typoSebastian Pop2012-02-061-1/+1
| | | | llvm-svn: 149856
OpenPOWER on IntegriCloud