summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle big index in getelementptr instructionReid Kleckner2015-03-113-21/+92
| | | | | | | | | | | | | | | CodeGen incorrectly ignores (assert from APInt) constant index bigger than 2^64 in getelementptr instruction. This is a test and fix for that. Patch by Paweł Bylica! Reviewed By: rnk Subscribers: majnemer, rnk, mcrosier, resistor, llvm-commits Differential Revision: http://reviews.llvm.org/D8219 llvm-svn: 231984
* [PowerPC] Remove canFoldAsLoad from instruction definitionsHal Finkel2015-03-115-8/+8
| | | | | | | | | | | | | | | | | The PowerPC backend had a number of loads that were marked as canFoldAsLoad (and I'm partially at fault here for copying around the relevant line of TableGen definitions without really looking at what it meant). This is not right; PPC (non-memory) instructions don't support direct memory operands, and so there is nothing a 'foldable' instruction could be folded into. Noticed by inspection, no test case. The one thing we might lose by doing this is ability to fold some loads into stackmap/patchpoint pseudo-instructions. However, this was untested, and would not obviously have worked for extending loads, and I'd rather re-add support for that once it can be tested. llvm-svn: 231982
* Extended support for native Windows C++ EH outliningAndrew Kaylor2015-03-1110-310/+1479
| | | | | | Differential Review: http://reviews.llvm.org/D7886 llvm-svn: 231981
* Remove useMachineScheduler and replace it with subtarget optionsEric Christopher2015-03-119-69/+46
| | | | | | | | | | | | | that control, individually, all of the disparate things it was controlling. At the same time move a FIXME in the Hexagon port to a new subtarget function that will enable a user of the machine scheduler to avoid using the source scheduler for pre-RA-scheduling. The FIXME would have this removed, but involves either testcase changes or adding -pre-RA-sched=source to a few testcases. llvm-svn: 231980
* Have getCallPreservedMask and getThisCallPreservedMask take aEric Christopher2015-03-1128-53/+78
| | | | | | | MachineFunction argument so that we can grab subtarget specific features off of it. llvm-svn: 231979
* One more getCalleeSavedRegs prototype with nullptr.Eric Christopher2015-03-111-2/+1
| | | | llvm-svn: 231977
* Add the option, -info-plist to llvm-objdump used with -macho to print theKevin Enderby2015-03-114-0/+38
| | | | | | Mach-O info plist section as strings. llvm-svn: 231974
* Have getCalleeSavedRegs take a non-null MachineFunction all theEric Christopher2015-03-1117-29/+20
| | | | | | | | time. The target independent code was passing in one all the time and targets weren't checking validity before using. Update a few calls to pass in a MachineFunction where necessary. llvm-svn: 231970
* Constify AArch64CollectLOH.cpp. NFCPete Cooper2015-03-111-7/+7
| | | | llvm-svn: 231969
* Revert "[dsymutil] Gather function ranges during DIE selection."Frederic Riss2015-03-111-47/+4
| | | | | | | | | | | | This reverts commit r231957. IntervalMap currently doesn't support keys more aligned than host pointers and I've been using it with uint64_t keys. This asserts on some 32bits systems. Revert while I work on an IntervalMap generalization. llvm-svn: 231967
* [mips][microMIPS] Make usage of NOT16 by code generatorJozef Kolek2015-03-113-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D7748 llvm-svn: 231963
* add CHECK-LABELs for better reliabilitySanjay Patel2015-03-111-16/+24
| | | | llvm-svn: 231962
* Put jump tables in unique sections on COFF.Rafael Espindola2015-03-113-0/+35
| | | | | | | | | | | If a function is going in an unique section (because of -ffunction-sections for example), putting a jump table in .rodata will keep .rodata alive and that will keep alive any other function that also has a jump table. Instead, put the jump table in a unique section that is associated with the function. llvm-svn: 231961
* ARM: simplify and extend byval handlingTim Northover2015-03-1116-295/+252
| | | | | | | | | | | | | | | | | | | The main issue being fixed here is that APCS targets handling a "byval align N" parameter with N > 4 were miscounting what objects were where on the stack, leading to FrameLowering setting the frame pointer incorrectly and clobbering the stack. But byval handling had grown over many years, and had multiple layers of cruft trying to compensate for each other and calculate padding correctly. This only really needs to be done once, in the HandleByVal function. Elsewhere should just do what it's told by that call. I also stripped out unnecessary APCS/AAPCS distinctions (now that Clang emits byvals with the correct C ABI alignment), which simplified HandleByVal. rdar://20095672 llvm-svn: 231959
* [dsymutil] Add missing headers.Frederic Riss2015-03-111-0/+2
| | | | | | No build failure, found by code inspection. llvm-svn: 231958
* [dsymutil] Gather function ranges during DIE selection.Frederic Riss2015-03-111-4/+47
| | | | | | | | | | | | | Gather the function ranges [low_pc, high_pc) during DIE selection and store them along with the offset to apply to them to get the linked addresses. This is just the data collection part, it comes with no tests. That information will be used in multiple followup commits to perform the relocation of line tables and range sections among other things, and these commits will add tests. llvm-svn: 231957
* [dsymutil] Small clang-format patch.Frederic Riss2015-03-111-2/+2
| | | | llvm-svn: 231956
* [dsymutil] Correctly clone address attributes.Frederic Riss2015-03-113-14/+85
| | | | | | | DW_AT_low_pc on functions is taken care of by the relocation processing, but DW_AT_high_pc and DW_AT_low_pc on other lexical scopes need special handling. llvm-svn: 231955
* Remove the need to cache the subtarget in the R600 TargetRegisterInfoEric Christopher2015-03-1112-66/+64
| | | | | | classes. llvm-svn: 231954
* Have getRegPressureSetLimit take a MachineFunction so that aEric Christopher2015-03-115-7/+11
| | | | | | we can inspect the subtarget and function when computing values. llvm-svn: 231951
* InstCombine: Don't fold call bitcast into args if callee is byvalDavid Majnemer2015-03-112-1/+19
| | | | | | | This fixes a bug reported here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150309/265341.html llvm-svn: 231948
* Updated with list of possible improvements we are tracking internallyKit Barton2015-03-112-0/+40
| | | | llvm-svn: 231946
* Add the "vbroadcasti128" instruction back.Juergen Ributzka2015-03-112-0/+9
| | | | | | | | | | This is a follow-up to r231182. This adds the "vbroadcasti128" instruction back, but without the intrinsic mapping. Also add a test to check the instriction encoding. This is related to rdar://problem/18742778. llvm-svn: 231945
* Make NaCl's use of .init_array for static constructors match LinuxDerek Schuff2015-03-114-6/+15
| | | | | | | | | | | | Summary: The generic ELF TargetObjectFile defaults to .ctors, but Linux's defaults to .init_array by calling InitializeELF with the value of UseInitArray from TargetMachine. Make NaCl's behavior match. Reviewers: jvoung Differential Revision: http://reviews.llvm.org/D8240 llvm-svn: 231934
* Wrap in __MINGW32__ to avoid warnings from msvc.Benjamin Kramer2015-03-111-1/+3
| | | | llvm-svn: 231933
* Add missing namespace specifier for MSVC.Benjamin Kramer2015-03-111-1/+1
| | | | llvm-svn: 231930
* RtlCaptureContext is absent from the mingw32 headers, provide a prototype.Benjamin Kramer2015-03-111-1/+4
| | | | llvm-svn: 231929
* Inliner should not add callgraph edges for intrinsic calls (PR22857)Sanjay Patel2015-03-112-1/+38
| | | | | | | | | | | | The CallGraphNode function "addCalledFunction()" asserts that edges are not to intrinsics. This patch makes sure that the Inliner does not add such an edge to the callgraph. Fix for clang crash by assertion: https://llvm.org/bugs/show_bug.cgi?id=22857 Differential Revision: http://reviews.llvm.org/D8231 llvm-svn: 231927
* Revert "[CMake] Don't pass in MSVC warning flags as definitions"Greg Bedwell2015-03-111-11/+4
| | | | | | | reverting while I investigate why it broke the sanitizer-windows build. This reverts commit r231924. llvm-svn: 231925
* [CMake] Don't pass in MSVC warning flags as definitionsGreg Bedwell2015-03-111-4/+11
| | | | | | | | | | | NFC currently but required as a prerequisite for using the Microsoft resource compiler in conjunction with CMake's ninja generator, which knows how to filter flags appropriately, but not definitions. Differential Revision: http://reviews.llvm.org/D8188 llvm-svn: 231924
* Prefer pipes over temporary files in a feeble attempt to stabilize this test ↵Benjamin Kramer2015-03-111-3/+2
| | | | | | on windows. llvm-svn: 231923
* Fix too short title underline reported by build-bot.Dan Liew2015-03-111-1/+1
| | | | llvm-svn: 231921
* Relax CHECK to match mips syntax.Rafael Espindola2015-03-112-2/+59
| | | | llvm-svn: 231919
* AVX-512: Added SKX forms of shift instructions.Elena Demikhovsky2015-03-115-39/+2266
| | | | | | | Added rotation instructions, encoding only. Added encoding tests for all these forms. llvm-svn: 231916
* Now that r231902's test is executed, make it actually passJustin Bogner2015-03-112-2/+2
| | | | | | | | As of r231908, the test I added in r231902 actually gets run - but I'd checked in a stale version of the input so it didn't pass. Fix the input and un-xfail the test. llvm-svn: 231911
* Fix another verifier crash where a GC intrinsic would look at the internals ↵Owen Anderson2015-03-112-0/+24
| | | | | | | | | | | of another intrinsic in order to verify itself. This causes a crash if the referenced intrinsic was malformed. In this case, we would already have reported an error on the referenced intrinsic, but then crashed on the second one when it tried to introspect the first without error checking. llvm-svn: 231910
* Make test added in r231902 actually be executed.Daniel Jasper2015-03-112-3/+3
| | | | | | | | | There were also errors in the CHECK line which I fixed and the test doesn't actually pass as the "100" is in the wrong line. Not sure whether this is a test failure or a coverage failure so making the test XFAIL for now. llvm-svn: 231908
* Don't print labels that on ELF are never used.Rafael Espindola2015-03-113-18/+14
| | | | llvm-svn: 231904
* InstrProf: Teach llvm-cov to handle universal binaries when given -archJustin Bogner2015-03-118-11/+71
| | | | llvm-svn: 231902
* Relax label CHECK to mach COFF syntax.Rafael Espindola2015-03-112-1/+58
| | | | | | | | Should fix the cygwin bots. I added a cygwin specific test that would have caught this on Linux. llvm-svn: 231899
* Print section start labels when first switching to the section.Rafael Espindola2015-03-1112-47/+49
| | | | | | | This is less brittle and avoids polluting the start of the file with every debug section. llvm-svn: 231898
* [Orc][MCJIT][RuntimeDyld] Re-apply r231726 and r231724 with fix suggested byLang Hames2015-03-1112-155/+247
| | | | | | Dave Blaikie. Thanks Dave! llvm-svn: 231896
* Fix a grammar issue I introduced.Chandler Carruth2015-03-111-1/+1
| | | | llvm-svn: 231894
* Inspired by r231891, use gender neutral pronouns in the places I'veChandler Carruth2015-03-113-5/+5
| | | | | | found in LLVM. llvm-svn: 231893
* Fix Value dangling reference debug outputAndrew Kaylor2015-03-102-7/+5
| | | | llvm-svn: 231889
* Have TargetRegisterInfo::getLargestLegalSuperClass take aEric Christopher2015-03-1013-24/+33
| | | | | | | MachineFunction argument so that it can look up the subtarget rather than using a cached one in some Targets. llvm-svn: 231888
* Remove subtarget dependence from HexagonRegisterInfo.Eric Christopher2015-03-103-14/+7
| | | | llvm-svn: 231887
* Split test in two to handle building without x86.Rafael Espindola2015-03-102-3/+26
| | | | llvm-svn: 231886
* Remove dead code.Eric Christopher2015-03-103-33/+0
| | | | llvm-svn: 231883
* Add missing section symbol to COFF's .debug_types.dwo.Rafael Espindola2015-03-102-1/+4
| | | | | | | | | Should bring the cygwin bots back. I added a triple to the test that was failing so that it would have failed on Linux. llvm-svn: 231882
OpenPOWER on IntegriCloud