- Aug 13, 2013
-
-
Jack Carter authored
This includes instructions lwl, lwr, swl and swr. Patch by Zoran Jovnovic llvm-svn: 188312
-
Michael Gottesman authored
Update makeLibCall to return both the call and the chain associated with the libcall instead of just the call. This allows us to specify libcalls that return void. LowerCallTo returns a pair with the return value of the call as the first element and the chain associated with the return value as the second element. If we lower a call that has a void return value, LowerCallTo returns an SDValue with a NULL SDNode and the chain for the call. Thus makeLibCall by just returning the first value makes it impossible for you to set up the chain so that the call is not eliminated as dead code. I also updated all references to makeLibCall to reflect the new return type. llvm-svn: 188300
-
Joey Gouly authored
llvm-svn: 188288
-
Evgeniy Stepanov authored
../lib/Target/X86/X86ISelLowering.cpp:9715:7: error: unused variable 'OpVT' [-Werror,-Wunused-variable] EVT OpVT = Op0.getValueType(); ^ ../lib/Target/X86/X86ISelLowering.cpp:9763:14: error: unused variable 'NumElems' [-Werror,-Wunused-variable] unsigned NumElems = VT.getVectorNumElements(); llvm-svn: 188269
-
Mihai Popa authored
llvm-svn: 188268
-
Elena Demikhovsky authored
Lowering for SETCC. llvm-svn: 188265
-
Vladimir Medic authored
This patch introduces changes to MipsAsmParser register parsing routines. The code now follows more deterministic path and makes the code more efficient and easier to maintain. llvm-svn: 188264
-
Kevin Enderby authored
undefined and produce an error message instead as this is a non-relocatable expression with X86 Mach-O. rdar://8920876 llvm-svn: 188218
-
Tom Stellard authored
R600 doesn't need to do any scheduling on the SelectionDAG now that it has a very good MachineScheduler. Also, using the VLIW SelectionDAG scheduler was having a major impact on compile times. For example with the phatk kernel here are the LLVM IR to machine code compile times: With Sched::VLIW Total Compile Time: 1.4890 Seconds (User + System) SelectionDAG Instruction Scheduling: 1.1670 Seconds (User + System) With Sched::Source Total Compile Time: 0.3330 Seconds (User + System) SelectionDAG Instruction Scheduling: 0.0070 Seconds (User + System) The code ouput was identical with both schedulers. This may not be true for all programs, but it gives me confidence that there won't be much reduction, if any, in code quality by using Sched::Source. llvm-svn: 188215
-
- Aug 12, 2013
-
-
Vladimir Medic authored
llvm-svn: 188176
-
Richard Sandiford authored
For now this is restricted to fixed-length comparisons with a length in the range [1, 256], as for memcpy() and MVC. llvm-svn: 188163
-
Richard Sandiford authored
llvm-svn: 188162
-
Richard Sandiford authored
llvm-svn: 188161
-
Benjamin Kramer authored
No functionality change. llvm-svn: 188158
-
- Aug 11, 2013
-
-
Reed Kotler authored
is actually an instrinsic that will not occur in libc. This list here is not exhaustive but fixes the one places in test-suite where this occurs. I have filed a bug against myself to research the full list and add them to the array of such cases. In the future, actual stub generation will occur in a later phase and we won't need this code because we will know at that time during the compilation that in fact no helper function was even needed. llvm-svn: 188149
-
Elena Demikhovsky authored
llvm-svn: 188148
-
Elena Demikhovsky authored
Added a test for shuffles using VPERM. llvm-svn: 188147
-
Reed Kotler authored
instruction move. Just affects static relocation. -static works fine now with mips16 for the most part. llvm-svn: 188143
-
- Aug 10, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 188141
-
Niels Ole Salscheider authored
llvm-svn: 188136
-
Niels Ole Salscheider authored
llvm-svn: 188135
-
- Aug 09, 2013
-
-
Reed Kotler authored
I need to go through all the runtime routine list and see if there are any more I need to add for mips16 floating point. Prototypes must be correct or else I don't know to add a helper function call. llvm-svn: 188106
-
Benjamin Kramer authored
Use it to avoid repeating ourselves too often. Also store MVT::SimpleValueType in the TTI tables so they can be statically initialized, MVT's constructors create bloated initialization code otherwise. llvm-svn: 188095
-
Mihai Popa authored
In Thumb1, only one variant is supported: CPS{effect} {flags} Thumb2 supports three: CPS{effect}.W {flags} CPS{effect} {flags} {mode} CPS {mode} Canonically, .W should be used only when ambiguity is present between encodings of different width. The wide suffix is still accepted for the latter two forms via aliases. llvm-svn: 188071
-
Mihai Popa authored
The long encoding for Thumb2 unconditional branches is broken. Additionally, there is no range checking for target operands; as such for instructions originating in assembly code, only short Thumb encodings are generated, regardless of the bitsize needed for the offset. Adding range checking is non trivial due to the representation of Thumb branch instructions. There is no true difference between conditional and unconditional branches in terms of operands and syntax - even unconditional branches have a predicate which is expected to match that of the IT block they are in. Yet, the encodings and the permitted size of the offset differ. Due to this, for any mnemonic there are really 4 encodings to choose for. The problem cannot be handled in the parser alone or by manipulating td files. Because the parser builds first a set of match candidates and then checks them one by one, whatever tablegen-only solution might be found will ultimately be dependent of the parser's evaluation order. What's worse is that due to the fact that all branches have the same syntax and the same kinds of operands, that order is governed by the lexicographical ordering of the names of operand classes... To circumvent all this, any necessary disambiguation is added to the instruction validation pass. llvm-svn: 188067
-
Richard Sandiford authored
llvm-svn: 188062
-
Jack Carter authored
Test included. Patch by Zoran Jovanovich llvm-svn: 188024
-
Michael J. Spencer authored
* ELFTypes.h contains template magic for defining types based on endianess, size, and alignment. * ELFFile.h defines the ELFFile class which provides low level ELF specific access. * ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface. llvm-svn: 188022
-
- Aug 08, 2013
-
-
Akira Hatanaka authored
llvm-svn: 188020
-
Akira Hatanaka authored
llvm-svn: 188017
-
Akira Hatanaka authored
No functionality change. llvm-svn: 188016
-
David Fang authored
llvm-svn: 188014
-
David Fang authored
this records relocation entries in the mach-o object file for PIC code generation. tested on powerpc-darwin8, validated against darwin otool -rvV llvm-svn: 188004
-
Niels Ole Salscheider authored
llvm-svn: 187988
-
Niels Ole Salscheider authored
llvm-svn: 187987
-
Jakub Staszak authored
llvm-svn: 187986
-
Silviu Baranga authored
Remove the now redundant FeatureFP16 from the Cortex-A15 feature list. It was made redundant when FeatureVFP4 was added which implies FP16. llvm-svn: 187985
-
Jakub Staszak authored
llvm-svn: 187984
-
Mihai Popa authored
The name "tCDP" isn't used anywhere else in the source code, so renaming it for consistency doesn't cause any problems. This is the only Thumb2 instruction defined with "t" prefix; all other Thumb2 instructions have "t2" prefix (e.g. "t2CDP2" which is defined immediately afterwards). Patch by Artyom Skrobov. llvm-svn: 187973
-
Hal Finkel authored
Making use of the recently-added ISD::FROUND, which allows for custom lowering of round(), the PPC backend will now map frin to round(). Previously, we had been using frin to lower nearbyint() (and rint() via some custom lowering to handle the extra fenv flags requirements), but only in fast-math mode because frin does not tie-to-even. Several users had complained about this behavior, and this new mapping of frin to round is certainly more appropriate (and does not require fast-math mode). In effect, this reverts r178362 (and part of r178337, replacing the nearbyint mapping with the round mapping). llvm-svn: 187960
-