summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MSP430
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-06-30 22:34:43 +0000
committerEric Fiselier <eric@efcs.ca>2016-06-30 22:34:43 +0000
commit9743af6e31eb0699ded017ac1f957a4a6fe78bf6 (patch)
tree2d3cec62f76d9487514a083bf65a9d018d630c84 /llvm/lib/Target/MSP430
parent3b8669edbf3f8565309432126a6a3a1a7259a568 (diff)
downloadbcm5719-llvm-9743af6e31eb0699ded017ac1f957a4a6fe78bf6.tar.gz
bcm5719-llvm-9743af6e31eb0699ded017ac1f957a4a6fe78bf6.zip
Replace __make_tuple_indices implementation with superior implementation.
The previous __make_tuple_indices implementation caused O(N) instantiations and was pretty inefficient. The C++14 __make_integer_sequence implementation is much better, since it either uses a builtin to generate the sequence or a very nice Log8(N) implementation provided by richard smith. This patch moves the __make_integer_sequence implementation into __tuple and uses it to implement __make_tuple_indices. Since libc++ can't expose the name 'integer_sequence' in C++11 this patch also introduces a dummy type '__integer_sequence' which is used when generating the sequence. One the sequence is generated '__integer_sequence' can be converted into the required type; either '__tuple_indices' or 'integer_sequence'. llvm-svn: 274286
Diffstat (limited to 'llvm/lib/Target/MSP430')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud