Bob Wilson
a27ea9e89f
Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new
...
method in a BuildVectorSDNode "pseudo-class".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 01:13:55 +00:00
Chris Lattner
f6f0bdfec3
Fix a pretty awesome bug that only happened in a strange case with anonymous
...
types. This was reading the uint for the keyword after the token was advanced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65743 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:53:13 +00:00
Chris Lattner
884858608b
walk type symbol table also, so we get:
...
type opaque ; type %0
%C = type { %0, %0 }
instead of:
%C = type { opaque, opaque }
when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:32:33 +00:00
Chris Lattner
585cfb6821
adjust for asmprinter change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:26:51 +00:00
Chris Lattner
3aa8f6bc11
adjust for asmprinter change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:25:46 +00:00
Chris Lattner
13397b97ee
adjust test to make it more robust
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:24:40 +00:00
Chris Lattner
413fd2304d
Fix a long-standing bug and misfeature of the disassembler: when dealing with a
...
stripped .bc file, it didn't make any attempt to try to reuse anonymous types.
This causes an amazing type explosion due to types getting duplicated everywhere
they are referenced and other problems.
This also caused correctness issues, because opaque types are unique for each time
they are uttered in the file. This means that stripping a .bc file could produce
a .ll file that could not be assembled (e.g. 2009-02-28-StripOpaqueName.ll).
This patch fixes both of these issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65738 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:03:38 +00:00
Chris Lattner
e9fa33eb66
move type name population out of TypePrinting class into a static
...
AsmWriter.cpp method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65736 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 23:20:19 +00:00
Chris Lattner
87185e82f6
switch to densemap for pointer->word map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65735 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 23:03:55 +00:00
Chris Lattner
ae3042316f
delete a bunch of duplicated type printing logic, using the type printing
...
stuff in AsmWriter.cpp for Type::getDescription().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 23:01:57 +00:00
Chris Lattner
8ab55b747d
make this work when constructed with a null module*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65733 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 23:01:30 +00:00
Gabor Greif
7eef1800ea
add description how the ilist_traits<Instruction> works
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65732 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:46:37 +00:00
Chris Lattner
6fa088393e
the module is not required to exist, allow it to default, giving this
...
class a nice default ctor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65731 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:41:33 +00:00
Chris Lattner
a725c45e9e
disable copying and assignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65730 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:35:24 +00:00
Chris Lattner
d8030a7179
expose TypePrinting as a public API.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65729 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:34:45 +00:00
Chris Lattner
d3fc0a15c7
one less space, fixes failure with rebuilt llvm-gcc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:20:02 +00:00
Bill Wendling
0a4bbbf62f
Fix grammaro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 22:12:54 +00:00
Chris Lattner
30794269d5
rename 'Result' to 'OS' in CalcTypeName for consistency
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65724 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 21:27:31 +00:00
Chris Lattner
0f7364b4aa
do not embed the raw_ostream into TypePrinting, pass it as an argument to print etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65723 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 21:26:53 +00:00
Chris Lattner
583ffd8787
stop calling Type::getDescription().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65722 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 21:18:43 +00:00
Chris Lattner
6d4306e63c
simplifications
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 21:11:05 +00:00
Chris Lattner
c287137ce7
Change WriteTypeSymbolic to not put a space out before types, also, remove
...
the old std::ostream version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65720 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 21:05:51 +00:00
Chris Lattner
534361e7e1
make CalcTypeName take a stream instead of a string to concat onto,
...
eliminate redundant opaque handling code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:49:40 +00:00
Chris Lattner
a32c3e4b1d
remove a bunch of nearly-duplicated code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:40:29 +00:00
Chris Lattner
36942d7383
fix indentation, remove dead integer case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65714 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:35:42 +00:00
Chris Lattner
b840cace77
pull calcTypeName into TypePrinting class, make its type stack
...
be a smallvector instead of vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:34:19 +00:00
Chris Lattner
b1b9d91a39
inline method into its only use and simplify the result.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:31:14 +00:00
Chris Lattner
88344e63d4
simplify condition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:28:50 +00:00
Chris Lattner
9cc3446e57
start refactoring the .ll printer: introduce a new TypePrinting class
...
and move all related stuff to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 20:25:14 +00:00
Chris Lattner
bc31caf2e7
add a stub for Roadsend PHP
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:58:01 +00:00
Chris Lattner
7088279597
don't use the word 'aggregate' with constants, it is confusing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:32:25 +00:00
Chris Lattner
03bbad6410
don't redescribe bitcast constraints in two places. It is not valid to
...
bitcast from one aggregate to another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:27:03 +00:00
Chris Lattner
452e2627dc
reject 0 element vectors with:
...
@a = internal constant void bitcast(<0 x i8> <> to void)
^
Fixes PR3685
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65698 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:12:41 +00:00
Nick Lewycky
6cd74989b9
Update this text for first-class aggregates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 17:30:06 +00:00
Bill Wendling
e05b6f10ba
Fix typo. Found by William Moss.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 12:26:34 +00:00
Bill Wendling
da3e7057cc
There is a way to specify targets that should succeed. It's the "XTARGET"
...
keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65692 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 12:11:01 +00:00
Gabor Greif
b141e397d5
make traits more flexible by splitting out node-related fragment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 10:17:32 +00:00
Evan Cheng
c8bb37a50a
Last commit accidentially deleted this code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 06:02:14 +00:00
Evan Cheng
9a5c4e09f5
Avoid unused parameter warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 01:10:24 +00:00
Stuart Hastings
7cbb95fa69
Unable to say "TARGET: *-*-darwin*"; falling back to "XFAIL: linux,ia64,alpha,sparc".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 00:56:37 +00:00
Mon P Wang
9feb5dd568
Added another darwin subtarget
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 00:25:30 +00:00
Stuart Hastings
b1789b003c
Testcase to insure C strings go to the cstring
...
section. Darwin-specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 22:35:12 +00:00
Devang Patel
9ac08d6a67
It is possible that subprgoram definition is only encoding return value directly, instsad of an DIArray of all argument types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 18:05:21 +00:00
Gabor Greif
a05764c4fb
group friendship
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 15:46:23 +00:00
Rafael Espindola
9a58023c6c
Refactor TLS code and add some tests. The tests and expected results are:
...
pic | declaration | linkage | visibility |
!pic | declaration | external | default | tls1.ll tls2.ll | local exec
pic | declaration | external | default | tls1-pic.ll tls2-pic.ll | general dynamic
!pic | !declaration | external | default | tls3.ll tls4.ll | initial exec
pic | !declaration | external | default | tls3-pic.ll tls4-pic.ll | general dynamic
!pic | declaration | external | hidden | tls7.ll tls8.ll | local exec
pic | declaration | external | hidden | X | local dynamic
!pic | !declaration | external | hidden | tls9.ll tls10.ll | local exec
pic | !declaration | external | hidden | X | local dynamic
!pic | declaration | internal | default | tls5.ll tls6.ll | local exec
pic | declaration | internal | default | X | local dynamic
The ones marked with an X have not been implemented since local dynamic is not implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 13:37:18 +00:00
Gabor Greif
0186250b31
document ilist_traits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 13:28:07 +00:00
Gabor Greif
2946d1c928
Expand a bit on iplist. If you are more expert on this class, please review!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 12:02:19 +00:00
Gabor Greif
3899e498df
update ilist documentation and add some blurb on ilist_node
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 11:37:41 +00:00
Gabor Greif
a1ae094cf7
update year
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 11:28:46 +00:00
Gabor Greif
1c17ca10b5
fix comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 09:33:37 +00:00