| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Surprisingly complicated.
Adds getTargetNode for 2 outputs, no inputs (missing).
llvm-svn: 42822
|
|
|
|
|
|
|
|
| |
use ISD::{S,U}DIVREM and ISD::{S,U}MUL_HIO. Move the lowering code
associated with these operators into target-independent in LegalizeDAG.cpp
and TargetLowering.cpp.
llvm-svn: 42762
|
|
|
|
|
|
|
|
| |
input. APInt unfortunately zero-extends signed integers, so Dale
modified the function to expect zero-extended input. Make this
assumption explicit in the function name.
llvm-svn: 42732
|
|
|
|
|
|
| |
although not well, and shortening FP converts.
llvm-svn: 42672
|
|
|
|
|
|
|
|
|
| |
basic arithmetic works.
Rename RTLIB long double functions to distinguish
different flavors of long double; the lib functions
have different names, alas.
llvm-svn: 42644
|
|
|
|
| |
llvm-svn: 42636
|
|
|
|
| |
llvm-svn: 42619
|
|
|
|
|
|
|
|
| |
use APFloat for int-to-float/double; use
round-to-nearest for these (implementation-defined,
seems to match gcc).
llvm-svn: 42484
|
|
|
|
| |
llvm-svn: 42457
|
|
|
|
| |
llvm-svn: 42440
|
|
|
|
| |
llvm-svn: 42423
|
|
|
|
| |
llvm-svn: 42389
|
|
|
|
| |
llvm-svn: 42359
|
|
|
|
|
|
|
| |
in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort
in the included testcase.
llvm-svn: 42264
|
|
|
|
|
|
|
|
|
|
| |
bit width instead of number of words allocated, which
makes it actually work for int->APF conversions.
Adjust callers. Add const to one of the APInt constructors
to prevent surprising match when called with const
argument.
llvm-svn: 42210
|
|
|
|
| |
llvm-svn: 42155
|
|
|
|
| |
llvm-svn: 42143
|
|
|
|
| |
llvm-svn: 42002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
double from some of the many places in the optimizers
it appears, and do something reasonable with x86
long double.
Make APInt::dump() public, remove newline, use it to
dump ConstantSDNode's.
Allow APFloats in FoldingSet.
Expand X86 backend handling of long doubles (conversions
to/from int, mostly).
llvm-svn: 41967
|
|
|
|
|
|
|
| |
Next round of x87 long double stuff.
Getting close now, basically works.
llvm-svn: 41875
|
|
|
|
|
|
|
|
|
| |
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).
llvm-svn: 41858
|
|
|
|
|
|
|
| |
init_trampoline. There is now only one
trampoline intrinsic.
llvm-svn: 41841
|
|
|
|
| |
llvm-svn: 41786
|
|
|
|
|
|
|
|
|
| |
Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
llvm-svn: 41587
|
|
|
|
| |
llvm-svn: 41584
|
|
|
|
| |
llvm-svn: 41578
|
|
|
|
|
|
|
| |
know how to handle them. This fixes
test/CodeGen/Generic/asm-large-immediate.ll
llvm-svn: 41388
|
|
|
|
| |
llvm-svn: 41143
|
|
|
|
|
|
| |
instruction to align the stack ptr before the decrement.
llvm-svn: 41133
|
|
|
|
|
|
| |
Fix PR1287.
llvm-svn: 41112
|
|
|
|
| |
llvm-svn: 40965
|
|
|
|
|
|
|
|
| |
(constants are still not handled). Adds ConvertActions
to control fp-to-fp conversions (these are currently
defaulted for all other targets, so no changes there).
llvm-svn: 40958
|
|
|
|
|
|
| |
to do so.
llvm-svn: 40955
|
|
|
|
| |
llvm-svn: 40712
|
|
|
|
| |
llvm-svn: 40682
|
|
|
|
|
|
| |
- Fixed an existing unexpanded tab.
llvm-svn: 40605
|
|
|
|
|
|
| |
still under discussion.
llvm-svn: 40549
|
|
|
|
| |
llvm-svn: 40516
|
|
|
|
|
|
| |
no public targets use this code-path, so no test.
llvm-svn: 40510
|
|
|
|
| |
llvm-svn: 39921
|
|
|
|
| |
llvm-svn: 39856
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fills the last necessary bits to enable exceptions
handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which
represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be
more or less workable. However, exceptions handling support should not be
thought as 'finished': I expect many small and not so small glitches
everywhere.
llvm-svn: 39855
|
|
|
|
| |
llvm-svn: 39827
|
|
|
|
| |
llvm-svn: 38484
|
|
|
|
|
|
| |
simplifying loads and stores.
llvm-svn: 38473
|
|
|
|
|
|
|
| |
model to include f32 variants. Some factoring
improvments forthcoming.
llvm-svn: 37847
|
|
|
|
|
|
| |
vectors are split down to single elements as part of legalization.
llvm-svn: 37785
|
|
|
|
| |
llvm-svn: 37758
|
|
|
|
|
|
| |
with single-element vectors.
llvm-svn: 37752
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extended vector types. Remove the special SDNode opcodes used for pre-legalize
vector operations, and the special MVT::Vector type used with them. Adjust
lowering and legalize to work with the normal SDNode kinds instead, and to
use the normal MVT functions to work with vector types instead of using the
two special operands that the pre-legalize nodes held.
This allows pre-legalize and post-legalize DAGs, and the code that operates
on them, to be more consistent. Pre-legalize vector operators can be handled
more consistently with scalar operators. And, -view-dag-combine1-dags and
-view-legalize-dags now look prettier for vector code.
llvm-svn: 37719
|