| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
and not just the key value when comparing trees. To do this we added data_type
and data_type_ref to the ImutContainerInfo trait classes. For values stored in
the tree that do not have separate key and data components, data_type is simply
a typedef of bool, and isDataEqual() always evaluates to true. This allows us to
support both ImmutableSet and ImmutableMap using the same underlying logic.
llvm-svn: 46130
|
|
|
|
| |
llvm-svn: 46128
|
|
|
|
| |
llvm-svn: 46127
|
|
|
|
| |
llvm-svn: 46126
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and switch various codegen pieces and the X86 backend over
to using it.
* Add some comments to SelectionDAGNodes.h
* Introduce a second argument to FP_ROUND, which indicates
whether the FP_ROUND changes the value of its input. If
not it is safe to xform things like fp_extend(fp_round(x)) -> x.
llvm-svn: 46125
|
|
|
|
| |
llvm-svn: 46124
|
|
|
|
| |
llvm-svn: 46120
|
|
|
|
|
|
| |
Regenerate configure with 2.60.
llvm-svn: 46119
|
|
|
|
| |
llvm-svn: 46113
|
|
|
|
| |
llvm-svn: 46112
|
|
|
|
|
|
|
|
|
|
|
| |
spilled
and the spill is its kill. However, if the local allocator has determined the
register has not been modified (possible when its value was reloaded), it would
not issue a restore. In that case, mark the last use of the virtual register as
kill.
llvm-svn: 46111
|
|
|
|
|
|
|
| |
promoted functions. This is important for varargs calls in
particular. Thanks to duncan for providing a great testcase.
llvm-svn: 46108
|
|
|
|
| |
llvm-svn: 46104
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's not safe to use the two value CombineTo variant to combine away a dead load.
e.g.
v1, chain2 = load chain1, loc
v2, chain3 = load chain2, loc
v3 = add v2, c
Now we replace use of v1 with undef, use of chain2 with chain1.
ReplaceAllUsesWith() will iterate through uses of the first load and update operands:
v1, chain2 = load chain1, loc
v2, chain3 = load chain1, loc
v3 = add v2, c
Now the second load is the same as the first load, SelectionDAG cse will ensure
the use of second load is replaced with the first load.
v1, chain2 = load chain1, loc
v3 = add v1, c
Then v1 is replaced with undef and bad things happen.
llvm-svn: 46099
|
|
|
|
|
|
|
|
|
| |
it should work, but I have no machine to test
it on. Committed because it will at least
cause no harm, and maybe someone can test it
for me!
llvm-svn: 46098
|
|
|
|
| |
llvm-svn: 46090
|
|
|
|
|
|
| |
associated function is so marked.
llvm-svn: 46088
|
|
|
|
| |
llvm-svn: 46073
|
|
|
|
|
|
| |
simplification. This fixes automotive-basicmath on PPC.
llvm-svn: 46072
|
|
|
|
|
|
| |
pattern to use EmitStackConvert now.
llvm-svn: 46066
|
|
|
|
|
|
| |
it to allow it to emit different load and store kinds.
llvm-svn: 46065
|
|
|
|
|
|
| |
instead of inlining its body.
llvm-svn: 46062
|
|
|
|
|
|
|
|
|
| |
into the ANY_EXTEND/ZERO_EXTEND/SIGN_EXTEND code to simplify it.
Unmerge the code for FP_ROUND and FP_EXTEND from each other to
make each one simpler.
llvm-svn: 46061
|
|
|
|
| |
llvm-svn: 46060
|
|
|
|
| |
llvm-svn: 46058
|
|
|
|
|
|
| |
some code. No functionality change.
llvm-svn: 46055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make the 'fp return in ST(0)' optimization smart enough to
look through token factor nodes. THis allows us to compile
testcases like CodeGen/X86/fp-stack-retcopy.ll into:
_carg:
subl $12, %esp
call L_foo$stub
fstpl (%esp)
fldl (%esp)
addl $12, %esp
ret
instead of:
_carg:
subl $28, %esp
call L_foo$stub
fstpl 16(%esp)
movsd 16(%esp), %xmm0
movsd %xmm0, 8(%esp)
fldl 8(%esp)
addl $28, %esp
ret
Still not optimal, but much better and this is a trivial patch. Fixing
the rest requires invasive surgery that is is not llvm 2.2 material.
llvm-svn: 46054
|
|
|
|
|
|
| |
look through token factor
llvm-svn: 46053
|
|
|
|
| |
llvm-svn: 46052
|
|
|
|
|
|
|
| |
a public SDOperand::reachesChainWithoutSideEffects method. No
functionality change.
llvm-svn: 46050
|
|
|
|
| |
llvm-svn: 46045
|
|
|
|
|
|
| |
to the tree node.
llvm-svn: 46034
|
|
|
|
|
|
|
| |
- Communicate symbol visibility
- Communicate code generation model
llvm-svn: 46033
|
|
|
|
| |
llvm-svn: 46032
|
|
|
|
| |
llvm-svn: 46030
|
|
|
|
|
|
|
|
|
| |
ShortenEHDataFor64Bits as a not-very-accurate
abstraction to cover all the changes in DwarfWriter.
Some cosmetic changes to Darwin assembly code for
gcc testsuite compatibility.
llvm-svn: 46029
|
|
|
|
|
|
| |
executed as frequently in performance sensitive code.
llvm-svn: 46027
|
|
|
|
| |
llvm-svn: 46026
|
|
|
|
|
|
| |
break the byval attr on some other argument.
llvm-svn: 46025
|
|
|
|
| |
llvm-svn: 46024
|
|
|
|
| |
llvm-svn: 46023
|
|
|
|
| |
llvm-svn: 46021
|
|
|
|
| |
llvm-svn: 46020
|
|
|
|
| |
llvm-svn: 46019
|
|
|
|
|
|
|
| |
it's a function pointer) not MVT::Other. This fixes builtin_trap
lowering on ppc, alpha, ia64
llvm-svn: 46018
|
|
|
|
|
|
| |
Move definition of 'trap' sdnode up from x86 instrinfo to targetselectiondag.td.
llvm-svn: 46017
|
|
|
|
|
|
| |
MachineRegisterInfo instead.
llvm-svn: 46016
|
|
|
|
| |
llvm-svn: 46015
|
|
|
|
| |
llvm-svn: 46014
|
|
|
|
|
|
| |
that vstudio build works
llvm-svn: 46013
|