| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 94097
|
|
|
|
|
|
| |
order for SjLj style exception handling.
llvm-svn: 94055
|
|
|
|
|
|
| |
the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee.
llvm-svn: 93667
|
|
|
|
|
|
| |
dereference the type pointer.
llvm-svn: 92726
|
|
|
|
|
|
|
|
|
| |
Intrinsic::dbg_stoppoint
Intrinsic::dbg_region_start
Intrinsic::dbg_region_end
Intrinsic::dbg_func_start
llvm-svn: 92672
|
|
|
|
| |
llvm-svn: 92577
|
|
|
|
|
|
| |
in an inline asm.
llvm-svn: 92512
|
|
|
|
|
|
|
|
|
|
|
| |
(X != null) | (Y != null) --> (X|Y) != 0
(X == null) & (Y == null) --> (X|Y) == 0
so that instcombine can stop doing this for pointers. This is part of PR3351,
which is a case where instcombine doing this for pointers (inserting ptrtoint)
is pessimizing code.
llvm-svn: 92406
|
|
|
|
|
|
|
| |
SelectionDAGBuilder.cpp:4294: warning: suggest explicit braces to avoid
ambiguous ‘else’
llvm-svn: 92395
|
|
|
|
| |
llvm-svn: 92394
|
|
|
|
|
|
|
|
|
|
| |
multiply sequence when the power is a constant integer. Before, our
codegen for std::pow(.., int) always turned into a libcall, which was
really inefficient.
This should also make many gfortran programs happier I'd imagine.
llvm-svn: 92388
|
|
|
|
| |
llvm-svn: 92263
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().
This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.
This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.
This introduces a number of fixme's which I'll follow up on.
llvm-svn: 92235
|
|
|
|
|
|
|
| |
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.
llvm-svn: 92225
|
|
|
|
|
|
|
|
| |
compare. On other targets we end up with a call to memcmp because we don't
want 16 individual byte loads. We should be able to use movups as well, but
we're failing to select the generated icmp.
llvm-svn: 92107
|
|
|
|
|
|
|
|
|
| |
SDISel. This optimization was causing simplifylibcalls to
introduce type-unsafe nastiness. This is the first step, I'll be
expanding the memcmp optimizations shortly, covering things that
we really really wouldn't want simplifylibcalls to do.
llvm-svn: 92098
|
|
|
|
|
|
| |
Patch by Sylve`re Teissier (sorry, ASCII only).
llvm-svn: 91988
|
|
|
|
|
|
| |
lowering code and update testcases.
llvm-svn: 91979
|
|
|
|
| |
llvm-svn: 91971
|
|
|
|
| |
llvm-svn: 91961
|
|
|
|
| |
llvm-svn: 91958
|
|
|
|
|
|
| |
was using "Tmp1" in the first getNode call instead of Node->getOperand(0).
llvm-svn: 91936
|
|
|
|
| |
llvm-svn: 91920
|
|
|
|
|
|
| |
"indirect" operand is not a pointer.
llvm-svn: 91913
|
|
|
|
|
|
|
|
| |
return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
llvm-svn: 91880
|
|
|
|
| |
llvm-svn: 91876
|
|
|
|
|
|
| |
generic copy functions.
llvm-svn: 91872
|
|
|
|
| |
llvm-svn: 91866
|
|
|
|
| |
llvm-svn: 91863
|
|
|
|
|
|
| |
SDNodes. This time in the load/store and limited-precision code.
llvm-svn: 91860
|
|
|
|
|
|
|
| |
assign the ordering when called. Combine some of the ordering assignments to
keep things simple.
llvm-svn: 91857
|
|
|
|
|
|
| |
orderings to values returned by getValue().
llvm-svn: 91850
|
|
|
|
|
|
| |
shuffle and insert vector.
llvm-svn: 91847
|
|
|
|
| |
llvm-svn: 91846
|
|
|
|
|
|
| |
- Modify the "dump" method to emit the order of an SDNode.
llvm-svn: 91845
|
|
|
|
|
|
| |
a lot of the branching instructions.
llvm-svn: 91838
|
|
|
|
|
|
|
|
|
|
|
| |
- Move DisableScheduling flag into TargetOption.h
- Move SDNodeOrdering into its own header file. Give it a minimal interface that
doesn't conflate construction with storage.
- Move assigning the ordering into the SelectionDAGBuilder.
This isn't used yet, so there should be no functional changes.
llvm-svn: 91727
|
|
|
|
|
|
|
|
| |
The change in SelectionDAGBuilder is needed to allow using bitcasts to convert
between f64 (the default type for ARM "d" registers) and 64-bit Neon vector
types. Radar 7457110.
llvm-svn: 91649
|
|
|
|
| |
llvm-svn: 91584
|
|
|
|
|
|
| |
having it reverted does no good.
llvm-svn: 91560
|
|
|
|
|
|
|
| |
this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
llvm-svn: 91533
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stuff isn't used just yet.
We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2'
flags. The hypothesis is that the people who use these flags know what they are
doing, and have hand-optimized the C code to reduce latencies and other
conflicts.
The idea behind our scheme to turn off scheduling is to create a map "on the
side" during DAG generation. It will order the nodes by how they appeared in the
code. This map is then used during scheduling to get the ordering.
llvm-svn: 91392
|
|
|
|
|
|
| |
aggregate return values. This fixes PR5754.
llvm-svn: 91145
|
|
SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp.
llvm-svn: 89681
|