summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Teach InstCombineLoadCast about address spaces.Matt Arsenault2013-09-032-3/+24
| | | | | | | | This is another one that doesn't matter much, but uses the right GEP index types in the first place. llvm-svn: 189854
* Use type form of getIntPtrType in alloca visitor.Matt Arsenault2013-09-031-2/+2
| | | | | | | This doesn't actually matter, since alloca is always 0 address space, but this is more consistent. llvm-svn: 189853
* WIP: Refactor some code so that it can be called by more than just one ↵Bill Wendling2013-09-031-60/+71
| | | | | | method. No functionality change. llvm-svn: 189849
* Alphabetize.Eric Christopher2013-09-031-4/+4
| | | | llvm-svn: 189848
* Add a Python-like join function to merge a list of strings with aJoerg Sonnenberger2013-09-032-0/+70
| | | | | | separator between each two elements. llvm-svn: 189846
* Revert "Revert "ARM: Improve pattern for isel mul of vector by scalar.""Jim Grosbach2013-09-032-0/+29
| | | | | | | | | This reverts commit r189648. Fixes for the previously failing clang-side arm_neon_intrinsics test cases will be checked in separately. llvm-svn: 189841
* Add the rest of the stock attributes to the attribute table.Eric Christopher2013-09-033-8/+242
| | | | | | | | This won't affect the kinds of hashes we test for as we actually do hashing based on form and attribute. Change the fission-hash testcase one last time to handle DW_AT_comp_dir. llvm-svn: 189840
* TableGen: Enumerate Schedule Model too.Vincent Lejeune2013-09-032-1/+14
| | | | llvm-svn: 189839
* In this patch we are trying to do two things:Yi Jiang2013-09-034-24/+177
| | | | | | | | | 1) If the width of vectorization list candidate is bigger than vector reg width, we will break it down to fit the vector reg. 2) We do not vectorize the width which is not power of two. The performance result shows it will help some spec benchmarks. mesa improved 6.97% and ammp improved 1.54%. llvm-svn: 189830
* Print string value for DT_RPATH and DT_RUNPATH.Joerg Sonnenberger2013-09-033-0/+8
| | | | llvm-svn: 189829
* [MC] Revert part of my previous change, I was a bit overzealous.Joey Gouly2013-09-031-3/+3
| | | | | | A change to test the previous commit will be coming soon. llvm-svn: 189825
* Migrate the DWARF_VERSION constant to 4. It largely needs to go away.Eric Christopher2013-09-031-1/+1
| | | | llvm-svn: 189824
* [SystemZ] Add support for TMHH, TMHL, TMLH and TMLLRichard Sandiford2013-09-033-8/+459
| | | | | | | | | For now this just handles simple comparisons of an ANDed value with zero. The CC value provides enough information to do any comparison for a 2-bit mask, and some nonzero comparisons with more populated masks, but that's all future work. llvm-svn: 189819
* [MC] AvailableFeatures needs to be a uint64_t to match FeatureBits in ↵Joey Gouly2013-09-032-6/+6
| | | | | | MCSubtargetInfo. llvm-svn: 189815
* [msan] Fix handling of select with struct arguments.Evgeniy Stepanov2013-09-032-3/+27
| | | | llvm-svn: 189796
* [msan] Fix select instrumentation.Evgeniy Stepanov2013-09-032-3/+15
| | | | | | | Select condition shadow was being ignored resulting in false negatives. This change OR-s sign-extended condition shadow into the result shadow. llvm-svn: 189785
* [mips][msa] Added IntrNoMem and removed Commutative from sub intrinsics.Daniel Sanders2013-09-031-28/+28
| | | | | | | | | | | | | | | | | This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG nodes (e.g. __builtin_msa_sub_w -> ISD::SUB) in future patches since nodes such as ISD::SUB do not have a chain. It also corrects an obvious mistake, namely that the subtract intrinsics were marked as being commutative. As per a similar change in r189106 (http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new testcase in this patch since the existing tests should test the intrinsics to the same standard and the best I can do for a testcase would be a fragile pass/maybe test of whether memory operations can (and do) cross the intrinsic. llvm-svn: 189784
* [mips][msa] Added IntrNoMem to the floating-point intrinsics.Daniel Sanders2013-09-031-96/+100
| | | | | | | | | | | | | | | This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG nodes (e.g. __builtin_msa_fadd_w -> ISD::FADD) in future patches since nodes such as ISD::FADD do not have a chain. As per a similar change in r189106 (http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new testcase in this patch since the existing tests should test the intrinsics to the same standard and the best I can do for a testcase would be a fragile pass/maybe test of whether memory operations can (and do) cross the intrinsic. llvm-svn: 189782
* [Sparc] Add support for soft long double (fp128).Venkatraman Govindaraju2013-09-034-37/+477
| | | | llvm-svn: 189780
* Add hadSideEffects=0 to some instructions.Craig Topper2013-09-031-1/+4
| | | | llvm-svn: 189779
* [Sparc] Implement spill and load for long double(f128) registers.Venkatraman Govindaraju2013-09-023-36/+138
| | | | llvm-svn: 189768
* ARM: Default to the Swift CPU when targeting armv7s/thumbv7s.Tilmann Scheller2013-09-022-3/+8
| | | | | | | | Test cases adjusted accordingly. This fixes rdar://14871821. llvm-svn: 189766
* Revert 189756 for now, it doesn't match what rdar://14871821 really wants.Tilmann Scheller2013-09-023-10/+5
| | | | | | What we really want is to enable Swift by default for *v7s triples (and there already seems to be some logic which attempts to do that). In that case the iOS version doesn't matter. llvm-svn: 189763
* ARM: Default to Swift when compiling for iOS 6 or later.Tilmann Scheller2013-09-023-5/+10
| | | | | | | | Test cases adjusted accordingly. This fixes rdar://14871821. llvm-svn: 189756
* FileCheck-ize three tests of llvm/test/CodeGen/X86/h-register(s).NAKAMURA Takumi2013-09-023-5/+56
| | | | llvm-svn: 189755
* llvm/test/CodeGen/X86: Update tests with -mattr=-bmi not to take BMI, ↵NAKAMURA Takumi2013-09-025-7/+7
| | | | | | | | corresponding to Craig's r189742. AMD Piledriver builder detected failures. llvm-svn: 189754
* [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZERAlexey Samsonov2013-09-021-0/+4
| | | | llvm-svn: 189747
* Create BEXTR instructions for (and ((sra or srl) x, imm), (2**size - 1)). ↵Craig Topper2013-09-024-0/+54
| | | | | | Fixes PR17028. llvm-svn: 189742
* AVX-512: updated the list of high-latency instructions.Elena Demikhovsky2013-09-021-1/+23
| | | | llvm-svn: 189740
* Add a clang-format file so that the tool can automatically detect theChandler Carruth2013-09-021-0/+1
| | | | | | | correct style for the LLVM tree as well as projects checked out under projects and tools. llvm-svn: 189737
* AVX-512: gather-scatter tests; added foldable instructions;Elena Demikhovsky2013-09-022-15/+61
| | | | | | Specify GATHER/SCATTER as heavy instructions. llvm-svn: 189736
* llvm interpreter: select, shuffle and insertelement instructions.Elena Demikhovsky2013-09-026-8/+396
| | | | | | | | | This patch implements vector support for select instruction and adds specific vector instructions : shuffle and insertelement. (tests are also included) and functions lle_X_memset, lle_X_memcpy added. Done by Veselov, Yuri (mailto:Yuri.Veselov@intel.com) llvm-svn: 189735
* Fix some rather confusing indentation and control flow in the errnoChandler Carruth2013-09-021-15/+14
| | | | | | | | | | | | | printing routine. This is made harder to see due to the surprising formatting, inconsistent brace usage, and repeated conditions that all test the same thing. The only "consequence" of this bug is re-assigning 'str' to an empty string when computing the error string for an error number of 0 in the event of a non-GNU strerror_r routine. So, nothing to see here other than cleanup. It did help me find PR17055 in clang-format though. llvm-svn: 189734
* Added std:: qualifier to find() invocationDmitri Gribenko2013-09-021-4/+4
| | | | | | | | | | Iterator of std::vector may be implemented as a raw pointer. In this case ADL does not find the find() function in the std namespace. For example, this is the case with STDCXX implementation of vector. Patch by Konstantin Tokarev. llvm-svn: 189733
* Nuke the hilariously out of date suggestion to unpack llvm-gcc 4.2 asChandler Carruth2013-09-011-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | part of getting started with LLVM. The LLVM getting started document is in woeful need of attention. I may get to some of this, but some random notes for folks interested: 1) We need to separate the getting started steps for folks who are interested in the core LLVM libs and nothing else, folks interested in a nifty C++ toolchain and nothing else, and folks interested in both. 2) We should include documentation for both release archives, svn, and git in equal portion, and we should document all of the various repositories of interest: llvm, clang, clang-tools-extra, compiler-rt, lld, libcxx, test-suite. 3) We should document the CMake build. We should probably document the CMake build first, and give a fall-back set of docs for the Makefile build for the use cases where that is still the preferred solution. This would more closely match the use cases that folks in the open source community are likely to have, and would remove a point of discrepancy between Linux, Windows, and Mac instructions. 4) Probably a ton of other modernization stuff that I've not thought of here. Anyways, if anyone at all is interested, please help clean up this document. It is much needed. llvm-svn: 189732
* Revert r189704, which removed the guidance about not duplicating doc comments.Chris Lattner2013-09-011-0/+7
| | | | | | This is under active discussion. llvm-svn: 189730
* AVX-512: Added GATHER and SCATTER instructions.Elena Demikhovsky2013-09-013-3/+508
| | | | llvm-svn: 189729
* Move everything depending on Object/MachOFormat.h over to Support/MachO.h.Charles Davis2013-09-0120-1363/+917
| | | | llvm-svn: 189728
* Make sure we don't generate stubs for any of these functions because theyReed Kotler2013-09-012-17/+34
| | | | | | | | | don't exist in libc. This is really not the right way to solve this problem; but it's not clear to me at this time exactly what is the right way. If we create stubs here, they will cause link errors because these functions do not exist in libc. llvm-svn: 189727
* Mark an unreachable code path with llvm_unreachable. Pacifies GCC.Benjamin Kramer2013-08-311-0/+1
| | | | llvm-svn: 189726
* Free PressureDiffs instead of leaking.Benjamin Kramer2013-08-311-0/+1
| | | | | | Found by valgrind. llvm-svn: 189725
* SimplifyLibCalls: When emitting an overloaded fp function check that it's ↵Benjamin Kramer2013-08-312-3/+43
| | | | | | | | | | available. The existing code missed some edge cases when e.g. we're going to emit sqrtf but only the availability of sqrt was checked. This happens on odd platforms like windows. llvm-svn: 189724
* Fix my previous checkin to updatePressureDiffs.Andrew Trick2013-08-311-4/+19
| | | | | | | | There was one case that we could hit a DebugValue where I didn't think to check. DebugValues are evil. No checkinable test case, sorry. It's an obvious fix. llvm-svn: 189717
* [PowerPC] Fast-isel cleanup patch.Bill Schmidt2013-08-311-20/+37
| | | | | | | | | | | | | | | | | | | | Here are a few miscellaneous things to tidy up the PPC64 fast-isel implementation. I corrected a couple of commentary lapses, and added documentation of future opportunities. I also implemented TargetMaterializeAlloca, which I somehow forgot when I split up the original huge patch. Finally, I decided to delete SelectCmp. I hadn't previously hooked it in to TargetSelectInstruction(), and when I did I realized it wasn't serving any useful purpose. This is only useful for compares that don't feed a branch in the same block, and to handle that we would have to have logic to interpret i1 as a condition register. This could probably be done, but would require Unseemly Hackery, and honestly does not seem worth the hassle. This ends the current patch series. llvm-svn: 189715
* [PowerPC] Add integer truncation support to fast-isel.Bill Schmidt2013-08-301-0/+31
| | | | | | | | | | | | This is the last substantive patch I'm planning for fast-isel in the near future, adding fast selection of integer truncates. There are certainly more things that can be improved (many of which are called out in FIXMEs), but for now we are catching most of the important cases. I'll document some of the remaining work in a cleanup patch shortly. llvm-svn: 189706
* Correct partially defined variableBill Schmidt2013-08-301-1/+2
| | | | llvm-svn: 189705
* Remove the suggestion to not duplicate comments in header andChris Lattner2013-08-301-7/+0
| | | | | | | implementation files. While doc generation systems don't need this, humans do benefit from it. Not everyone reads all code through doxygen. llvm-svn: 189704
* [PowerPC] Call support for fast-isel.Bill Schmidt2013-08-305-3/+504
| | | | | | | | | This patch adds fast-isel support for calls (but not intrinsic calls or varargs calls). It also removes a badly-formed assert. There are some new tests just for calls, and also for folding loads into arguments on calls to avoid extra extends. llvm-svn: 189701
* Build fixRichard Mitton2013-08-301-1/+1
| | | | llvm-svn: 189699
* Fixed a bug where diassembling an instruction that had a prefix would cause ↵Richard Mitton2013-08-302-7/+68
| | | | | | LLVM to identify a 1-byte instruction, but then upon querying it for that 1-byte instruction would cause an undefined opcode. llvm-svn: 189698
OpenPOWER on IntegriCloud