aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-06-24Simplify X86CompilationCallback: always align to 16-byte boundary; don't ↵Evan Cheng
save EAX/EDX if unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28910 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-23Add and sort "sections" in debug lines. This always stepping throughJim Laskey
code in sections other than ".text", including weak sections like ctors and dtors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-23Added jump table address relocation.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28908 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-22Eliminate unneeded parameter.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28907 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21variable_ops instructions such as call can have any number of operands.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28906 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Whoops, missed a couple more C-style casts.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28905 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Use C++ style casts instead of C-style casts to shut up compiler warningsReid Spencer
when compiling with -pedantic. Passes regression tests on Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28904 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Add targets for generating .s file in addition to .o files.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28903 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Factor a bunch of rules together, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28902 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Add more anonymous namespaces to make it clear that these are private classesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28901 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Remove unneeded libsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28900 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21For PR811:Reid Spencer
Don't both with the "C" and "cc" extensions as they aren't common and they the "C" extension conflicts with the "c" extension on operating systems that have case insensitive file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28899 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Add some out-of-line virtual dtors so that the class has a "home", preventingChris Lattner
vtables for (e.g.) Instruction from being emitted into every .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21fix typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28897 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Add memory operand and int regsAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28896 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21inline asm, at least for floatsAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28895 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21fix typosJim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28894 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21fix argument problemAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28893 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Correct returns of 64-bit values, though they seemed to work before...Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28892 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-21Fix non-64-bit clean code.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28891 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Make these predicates correct in 64-bit mode too.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28890 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Rename OR4 -> OR. Move some PPC64-specific stuff to the 64-bit fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28889 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20remove unused flagChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28888 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20add some logical opsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28887 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20remove some unused patternsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28886 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Add some more immediate patterns. This allows us to compile:Chris Lattner
void test6() { Y = 0xABCD0123BCDE4567; } into: _test6: lis r2, -21555 lis r3, ha16(_Y) ori r2, r2, 291 rldicr r2, r2, 32, 31 oris r2, r2, 48350 ori r2, r2, 17767 std r2, lo16(_Y)(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28885 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Instead of li/xoris use li/oris. Note that this doesn't work if bit 15 isChris Lattner
set, so disable the pattern in that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28884 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Add some 64-bit logical ops.Chris Lattner
Split imm16Shifted into a sext/zext form for 64-bit support. Add some patterns for immediate formation. For example, we now compile this: static unsigned long long Y; void test3() { Y = 0xF0F00F00; } into: _test3: li r2, 3840 lis r3, ha16(_Y) xoris r2, r2, 61680 std r2, lo16(_Y)(r3) blr GCC produces: _test3: li r0,0 lis r2,ha16(_Y) ori r0,r0,61680 sldi r0,r0,16 ori r0,r0,3840 std r0,lo16(_Y)(r2) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28883 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Added --with-extra-options=opts to specify additional options to build LLVM ↵Evan Cheng
and run tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28882 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20__i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28881 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-2064-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28880 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Add some patterns for globals, so we can now compile this:Chris Lattner
static unsigned long long X, Y; void test1() { X = Y; } into: _test1: lis r2, ha16(_Y) lis r3, ha16(_X) ld r2, lo16(_Y)(r2) std r2, lo16(_X)(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28879 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20add subroutine typesJim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28878 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20remove quotes for better consistencyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28877 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20more significant moving of stuff around.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28876 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Fix broken links, remove author information, add brief summary.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Add support for function types.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28874 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Allow LLVM to be built with extra options.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28873 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Rename EXTRA_FLAGS to EXTRA_OPTIONS.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28872 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Added LLVM publications describing the LLVM compiler infrastructure.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28871 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Added the privbracket project to the list of projects to auto-configure.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28870 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Fix build on old compilersAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28869 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Fix an error message regression. Print:Chris Lattner
LI8: (LI8:i64 (imm:i64):$imm) instead of: LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28868 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Remove some now-unneeded casts from instruction patterns. With the castsChris Lattner
removed, tblgen produces identical output to with them in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28867 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Add some patterns for ppc64Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28866 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Don't require src/dst patterns to be able to fully resolve their types,Chris Lattner
because information about one can help refine the other. This allows us to write: def : Pat<(i32 (extload xaddr:$src, i8)), (LBZX xaddr:$src)>; as: def : Pat<(extload xaddr:$src, i8), (LBZX xaddr:$src)>; because tblgen knows LBZX returns i32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28865 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Remove some ugly now-redundant casts.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28864 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Make sure to use the result of the pattern to infer the result type of theChris Lattner
instruction, and the result type of the instruction to refine the pattern. This allows us to write things like this: def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>; as: def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)> and fixes a ppc64 issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28863 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20Fix some mismatched type constraintsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28862 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19References need to be section relative.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861 91177308-0d34-0410-b5e6-96231b3b80d8