- Mar 12, 2015
-
-
Krzysztof Parzyszek authored
llvm-svn: 231996
-
Reid Kleckner authored
Instead, run both EH preparation passes, and have them both ignore functions with unrecognized EH personalities. Pass delegation involved some hacky code for creating an AnalysisResolver that we don't need now. llvm-svn: 231995
-
Krzysztof Parzyszek authored
llvm-svn: 231992
-
Mehdi Amini authored
The code assumed that substr() was taking start,end while it takes start,length. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231988
-
Mehdi Amini authored
Summary: I don't know why every singled backend had to redeclare its own DataLayout. There was a virtual getDataLayout() on the common base TargetMachine, the default implementation returned nullptr. It was not clear from this that we could assume at call site that a DataLayout will be available with each Target. Now getDataLayout() is no longer virtual and return a pointer to the DataLayout member of the common base TargetMachine. I plan to turn it into a reference in a future patch. The only backend that didn't have a DataLayout previsouly was the CPPBackend. It now initializes the default DataLayout. This commit is NFC for all the other backends. Test Plan: clang+llvm ninja check-all Reviewers: echristo Subscribers: jfb, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8243 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231987
-
Reid Kleckner authored
llvm-svn: 231985
-
Reid Kleckner authored
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
-
Hal Finkel authored
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
-
Andrew Kaylor authored
Differential Review: http://reviews.llvm.org/D7886 llvm-svn: 231981
-
- Mar 11, 2015
-
-
Eric Christopher authored
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
-
Eric Christopher authored
MachineFunction argument so that we can grab subtarget specific features off of it. llvm-svn: 231979
-
Eric Christopher authored
llvm-svn: 231977
-
Kevin Enderby authored
Mach-O info plist section as strings. llvm-svn: 231974
-
Eric Christopher authored
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
-
Pete Cooper authored
llvm-svn: 231969
-
Frederic Riss authored
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
-
Jozef Kolek authored
Differential Revision: http://reviews.llvm.org/D7748 llvm-svn: 231963
-
Sanjay Patel authored
llvm-svn: 231962
-
Rafael Espindola authored
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
-
Tim Northover authored
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
-
Frederic Riss authored
No build failure, found by code inspection. llvm-svn: 231958
-
Frederic Riss authored
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
-
Frederic Riss authored
llvm-svn: 231956
-
Frederic Riss authored
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
-
Eric Christopher authored
classes. llvm-svn: 231954
-
Eric Christopher authored
we can inspect the subtarget and function when computing values. llvm-svn: 231951
-
David Majnemer authored
This fixes a bug reported here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150309/265341.html llvm-svn: 231948
-
Kit Barton authored
llvm-svn: 231946
-
Juergen Ributzka authored
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
-
Derek Schuff authored
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
-
Benjamin Kramer authored
llvm-svn: 231933
-
Benjamin Kramer authored
llvm-svn: 231930
-
Benjamin Kramer authored
llvm-svn: 231929
-
Sanjay Patel authored
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
-
Greg Bedwell authored
reverting while I investigate why it broke the sanitizer-windows build. This reverts commit r231924. llvm-svn: 231925
-
Greg Bedwell authored
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
-
Benjamin Kramer authored
llvm-svn: 231923
-
Dan Liew authored
llvm-svn: 231921
-
Rafael Espindola authored
llvm-svn: 231919
-
Elena Demikhovsky authored
Added rotation instructions, encoding only. Added encoding tests for all these forms. llvm-svn: 231916
-