Chris Lattner
85b116a108
The actual nicification of calls is now implemented in instcombine, not in
...
funcresolve
llvm-svn: 6784
2003-06-19 17:02:06 +00:00
Chris Lattner
970c33abb1
Implement the functionality of InstCombine/call.ll
...
llvm-svn: 6783
2003-06-19 17:00:31 +00:00
Chris Lattner
bbe2dab909
Remove a bunch of complicated code. The functionality is implemented in instcombine instead
...
llvm-svn: 6782
2003-06-19 16:59:19 +00:00
Chris Lattner
d5cdc73f0b
New testcase
...
llvm-svn: 6781
2003-06-18 22:48:11 +00:00
Brian Gaeke
c39d16ab8f
tools/llc/llc.cpp: Make "-o -" work.
...
llvm-svn: 6780
2003-06-18 21:43:33 +00:00
Brian Gaeke
ac94bab876
lib/Target/X86/X86TargetMachine.{cpp,h}: Add initial version
...
(non-working) of llc guts for X86, and add a prototype for it.
llvm-svn: 6779
2003-06-18 21:43:21 +00:00
Chris Lattner
33426d9168
Diversify examples
...
llvm-svn: 6778
2003-06-18 21:30:51 +00:00
Chris Lattner
b254d5d50e
fix incorrect anchor
...
llvm-svn: 6777
2003-06-18 21:28:11 +00:00
Brian Gaeke
cf8c4f5fe4
lib/Target/Sparc/Sparc.cpp:
...
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
the corresponding -disable-strip and -d options, over here to the SPARC
target-specific bits of llc. Rename -d to -dump-asm.
tools/llc/Makefile:
Reindent. Add x86 library so that llc compiles again.
tools/llc/llc.cpp:
Remove support for running arbitrary optimization passes. Use opt instead.
Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
above.
Allow user to select a backend (x86 or SPARC); default to guessing from
the endianness/pointer size of the input bytecode file.
Fix typos.
Delete empty .s file and exit with error status if target does not support
static compilation.
llvm-svn: 6776
2003-06-18 21:14:23 +00:00
Chris Lattner
fbac3ce589
Move llvm tools to the start of the testrunner path, which allows the llvm 'as'
...
tool to be found in preference to the system 'as' tool.
llvm-svn: 6775
2003-06-18 19:39:06 +00:00
Chris Lattner
8826647168
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner
8e31d81bd7
Remove extra line
...
llvm-svn: 6773
2003-06-18 19:20:11 +00:00
Chris Lattner
422de25579
Reindent code to match the rest of the file
...
llvm-svn: 6772
2003-06-18 18:46:08 +00:00
Chris Lattner
a436926e24
Fix breakage due to John's recent changes
...
llvm-svn: 6771
2003-06-18 18:26:22 +00:00
Chris Lattner
472beba236
Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
...
llvm-svn: 6770
2003-06-18 16:29:02 +00:00
Chris Lattner
5d3c145d4e
Handle arguments passed in through the va_arg area
...
llvm-svn: 6769
2003-06-18 16:25:51 +00:00
Chris Lattner
d768c51f1b
These instructions really take three operands. This fixes some assertions
...
llvm-svn: 6765
2003-06-18 15:09:02 +00:00
Brian Gaeke
87b4f0765c
lib/CWriter/Writer.cpp: Copy AsmWriter's ConstantFP checking code here
...
into a new function FPCSafeToPrint(), and use it in printConstant()
and printFunction() to decide whether we should output ConstantFPs as
floating-point constants or as references to stack-allocated variables.
lib/VMCore/AsmWriter.cpp: Fix an apparent typo in the code mentioned above.
llvm-svn: 6762
2003-06-17 23:55:35 +00:00
Brian Gaeke
a7cf81bc75
Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.
...
(We're already talking about autoconf'ing this, so I'm assuming this hack
will be short-lived...I just don't want it to get lost in my working files.)
llvm-svn: 6761
2003-06-17 23:14:06 +00:00
Chris Lattner
a36eea5142
Make testcase more interesting, remove absolute path from -load line
...
llvm-svn: 6760
2003-06-17 22:21:55 +00:00
Chris Lattner
13bf28c00a
Initial checkin of DAE pass
...
llvm-svn: 6759
2003-06-17 22:21:05 +00:00
Chris Lattner
95881f6234
* Add new CallSite::get factory method
...
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!
llvm-svn: 6758
2003-06-17 22:16:59 +00:00
Chris Lattner
908ffe346d
Add new op_erase method
...
llvm-svn: 6757
2003-06-17 22:15:55 +00:00
Chris Lattner
32cbae3320
Make sure accessor is properly doxygenized. It wants two lines
...
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner
f42ca71f34
Add accessor
...
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner
947b0daccd
Fix to mesh with Johns recent changes
...
llvm-svn: 6754
2003-06-17 20:55:04 +00:00
Brian Gaeke
e38c7d9f2d
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
llvm-svn: 6753
2003-06-17 20:09:18 +00:00
Brian Gaeke
c5ddcae8f5
Add variable named PLATFORMLIBDL to control OS-specific usage of libdl.
...
llvm-svn: 6752
2003-06-17 20:08:02 +00:00
Brian Gaeke
44a4adfad2
Use std::isnan instead of isnan. Brought back to you from the
...
future, by the reconciliation of the C++ and C99 standards. Someday.
llvm-svn: 6751
2003-06-17 19:59:17 +00:00
Brian Gaeke
ad3aabd47a
Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
...
llvm-svn: 6750
2003-06-17 19:54:00 +00:00
Chris Lattner
ce5ee39319
Make CallSite's default constructable, copyable, and assignable (explicitly)
...
llvm-svn: 6749
2003-06-17 19:50:28 +00:00
Chris Lattner
dcd6bcb71d
Life is too short. Link in too much stuff on Linux to make building on sun easier
...
llvm-svn: 6748
2003-06-17 19:14:59 +00:00
Chris Lattner
eba0e9930d
The never-ending odyssey trying to get sparc to link
...
llvm-svn: 6747
2003-06-17 18:19:52 +00:00
Chris Lattner
f9f0005af7
Make sure to get the value of ARCH before we use it
...
llvm-svn: 6746
2003-06-17 17:53:35 +00:00
Chris Lattner
d9cc372613
Do not link in the Sparc JIT when building on X86. Eventually the sparc will not
...
link in the X86 JIT either, but this makes testing easier.
For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :(
llvm-svn: 6745
2003-06-17 15:54:52 +00:00
Chris Lattner
cf48150098
Apparently "sparc" is a macro on sparcs. Ugh. :)
...
llvm-svn: 6744
2003-06-17 15:54:02 +00:00
Chris Lattner
66e018bb80
Whoops, didn't mean to check that in :(
...
llvm-svn: 6743
2003-06-17 15:46:34 +00:00
Chris Lattner
d9e6bfae0e
Use more structured command line option processing
...
llvm-svn: 6742
2003-06-17 15:43:13 +00:00
Chris Lattner
a5741aca3a
#ifdef out code that only applies when the HOSTARCH = sparc
...
llvm-svn: 6741
2003-06-17 15:32:38 +00:00
Chris Lattner
1bec75e730
Implement handling of constantexprs for disambiguation. This implements
...
BasicAA/featuretest.ll:constexpr_test
llvm-svn: 6740
2003-06-17 15:25:37 +00:00
Chris Lattner
b9119b3ed4
Add new testcase
...
llvm-svn: 6739
2003-06-17 15:16:35 +00:00
Chris Lattner
702a42bb8a
Avoid divide by zero errors
...
llvm-svn: 6738
2003-06-17 15:07:20 +00:00
Chris Lattner
0f55690855
Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
...
Remove evil rcs tag :)
llvm-svn: 6737
2003-06-17 14:30:21 +00:00
Chris Lattner
bbd00c12e0
Fix bug: Assembler/2003-06-17-InvokeDisassemble.llx
...
"yes, invoke instructions can have just three arguments"
llvm-svn: 6736
2003-06-17 13:31:10 +00:00
Chris Lattner
5c2d7ac52f
New testcase
...
llvm-svn: 6735
2003-06-17 13:21:13 +00:00
Chris Lattner
fb70cf528e
Fairly major change: emit fixed sized allocas in the entry block as a variable,
...
instead of a variable pointer and an alloca. All accesses to the variable then
use the address-of operator to access it. This plays better with the internal
GCC code generation phases, which bail early on functions which contain allocas.
It also makes the code a bit easier to read.
llvm-svn: 6734
2003-06-17 04:39:14 +00:00
Chris Lattner
2a8c301c9f
Don't corrupt memory when removing an instruction from the program, but
...
not the worklist
llvm-svn: 6733
2003-06-17 03:57:18 +00:00
Brian Gaeke
a7a50133ef
Regularize the names of #include-guards.
...
llvm-svn: 6732
2003-06-17 00:35:55 +00:00
Chris Lattner
984c64759b
Just _EXTEND_ the current path. Don't replace it. Replacing it makes it
...
impossible for scripts to find user tools like sed.
llvm-svn: 6731
2003-06-17 00:27:43 +00:00
Chris Lattner
6a28a105b1
Arg, sparc doesn't have correct things in math.h!
...
llvm-svn: 6729
2003-06-17 00:03:56 +00:00
Brian Gaeke
32f27e9f45
Don't include alloca.h on FreeBSD.
...
llvm-svn: 6728
2003-06-16 23:57:13 +00:00
Chris Lattner
55491774bb
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
7bdbd91e92
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Chris Lattner
5b7e3cae42
Remove two using decls
...
Remove usage of alloca
llvm-svn: 6725
2003-06-16 22:18:28 +00:00
Brian Gaeke
40edaa707f
Basically this is the same as Makefile.Linux, at least for now.
...
llvm-svn: 6724
2003-06-16 22:01:55 +00:00
Brian Gaeke
7a719ed20c
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Brian Gaeke
3350651851
Whoops. I didn't mean to step on John's changes.
...
llvm-svn: 6722
2003-06-16 21:18:20 +00:00
Brian Gaeke
eb505aab08
This version supports FreeBSD.
...
llvm-svn: 6721
2003-06-16 21:14:57 +00:00
John Criswell
613be95209
Reconfigured the TOOLS variable so that it points to the current set of tools
...
built by the LLVM build.
Added a path for use with the TestRunner.sh script so that it can always find
the LLVM tools without having the user place them in his or her path.
llvm-svn: 6720
2003-06-16 19:16:32 +00:00
John Criswell
668fbc229a
Modified the environment variables that determine where things are located to
...
do the following:
1) Determine their default values without $HOME
2) Configure the default values as full absolute pathnames.
This should help fix the nightly test builds.
llvm-svn: 6719
2003-06-16 19:14:31 +00:00
Chris Lattner
3bcde17e00
Rename FInfo.cpp to FunctionInfo.cpp, eliminate FInfo.h
...
llvm-svn: 6712
2003-06-16 15:31:52 +00:00
Chris Lattner
617ea34a6d
move contents of include/llvm/Reoptimizer/Mapping/FInfo.h into here, it is sparc internal
...
llvm-svn: 6711
2003-06-16 15:31:09 +00:00
Chris Lattner
492aea746a
Minor tweak to make testcase less simple
...
llvm-svn: 6710
2003-06-16 14:04:18 +00:00
Chris Lattner
9eee1a61e7
New testcase identified by joel
...
llvm-svn: 6709
2003-06-16 13:33:59 +00:00
Chris Lattner
cdfb4dbad8
New testcase identified by joel
...
llvm-svn: 6708
2003-06-16 13:16:20 +00:00
Chris Lattner
94c348f7d3
Fix final linking errors
...
llvm-svn: 6707
2003-06-16 12:27:12 +00:00
Chris Lattner
0834ee4d98
Fix link errors by adding main's
...
llvm-svn: 6706
2003-06-16 12:25:11 +00:00
Chris Lattner
629669bd5b
Fix link problem
...
llvm-svn: 6705
2003-06-16 12:23:27 +00:00
Chris Lattner
71ec97a6e1
Fix typeo
...
llvm-svn: 6704
2003-06-16 12:21:19 +00:00
Chris Lattner
4ff07067db
Add prototype for the new DAE pass
...
llvm-svn: 6703
2003-06-16 12:16:52 +00:00
Chris Lattner
cc7d6ff656
Fix bug: Linker/2003-06-02-TypeResolveProblem2.ll
...
llvm-svn: 6699
2003-06-16 12:11:33 +00:00
Chris Lattner
dc62f1e021
Fix bug: ADCE/2003-06-11-InvalidCFG.ll
...
This was because we were deleting large chunks of functions without an exit block, because the post-dominance
information was not useful. This broke crafty and twolf.
llvm-svn: 6698
2003-06-16 12:10:45 +00:00
Chris Lattner
d994fd3d88
Fix bug: CBackend/2003-06-11-HexConstant.ll
...
Fix bug: CBackend/2003-06-11-LiteralStringProblem.ll
llvm-svn: 6697
2003-06-16 12:09:09 +00:00
Chris Lattner
3937726a5b
Nodes get forwarded when they are collapsed currently.
...
llvm-svn: 6696
2003-06-16 12:08:18 +00:00
Chris Lattner
82f4f85f6d
Remove bogus assertion: a node with no referrers could be collapsed if field-sensitivity was disabled
...
llvm-svn: 6695
2003-06-16 12:07:39 +00:00
Chris Lattner
98105944b3
Implement forwarding from stores to loads of must-aliased pointers.
...
This implements: GCSE/2003-06-13-LoadStoreEliminate.ll
llvm-svn: 6694
2003-06-16 12:06:41 +00:00
Chris Lattner
4d3c66bf32
New testcases for bugs and the new DAE pass
...
llvm-svn: 6693
2003-06-16 12:05:38 +00:00
Chris Lattner
cb9ef2bccc
Fix invalid number of arguments problem
...
llvm-svn: 6692
2003-06-16 12:03:00 +00:00
Chris Lattner
5a4237cbe4
Fix testcase to work with store forwarding
...
llvm-svn: 6689
2003-06-16 11:59:34 +00:00
Chris Lattner
3aa325766a
Fix major bug in my last checkin. :(
...
llvm-svn: 6688
2003-06-13 16:10:26 +00:00
John Criswell
72989a5758
Reverted back to hand-made HTML.
...
Added in updates for new Makefile variables and corrected some punctuation.
llvm-svn: 6687
2003-06-12 19:34:44 +00:00
Chris Lattner
5eba7071e6
Remove obsolete comments about llvm-ar
...
llvm-svn: 6686
2003-06-12 18:57:42 +00:00
John Criswell
0c951c6e83
Updated the documentation to reflect changes in the Makefiles for building
...
projects.
Fixed some small grammatical errors.
Using Netscape Composer seems to have added stuff that makes the page look
exactly the same. Bah! Curse my laziness!
llvm-svn: 6685
2003-06-11 20:46:40 +00:00
John Criswell
ec382b6a64
Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
...
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.
llvm-svn: 6684
2003-06-11 19:44:51 +00:00
John Criswell
f3e7fedff3
Added assert.h so that it compiles under newer versions of GCC.
...
llvm-svn: 6683
2003-06-11 14:17:21 +00:00
John Criswell
cfac736363
Included assert.h so that the code compiles under newer versions of GCC.
...
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
John Criswell
be087cf11d
Updated to the new Makefile.common.
...
Modified the test rule so that it can be added to the regular test rule
(I believe the term is double dependency?).
llvm-svn: 6681
2003-06-11 13:57:48 +00:00
John Criswell
e1c78240c2
Updated to use the new Makefile.common.
...
Replaced the hard-coded compiler variable with the one defined by
Makefile.config.
llvm-svn: 6680
2003-06-11 13:56:55 +00:00
John Criswell
0607d88385
Modified Makefile.common to handle compilation of projects inside and outside
...
of the llvm source directory.
The main modification was to add new environment variables: one set for llvm
entities and another set for source entities current being compiled.
This should make the Makefile more flexible and easier to understand as each
environment variable only does one thing.
llvm-svn: 6679
2003-06-11 13:55:44 +00:00
John Criswell
fafd3d2b31
Updated for the new projects Makefile.
...
llvm-svn: 6678
2003-06-11 13:49:11 +00:00
Guochun Shi
c40f66c928
add some comments
...
add a function ModuloScheduling::dumpFinalSchedule() to print out final schedule
llvm-svn: 6677
2003-06-10 20:04:30 +00:00
Guochun Shi
f6b88e55ed
add an brief instruction what this pass is
...
llvm-svn: 6676
2003-06-10 20:03:39 +00:00
Guochun Shi
d2656536f5
a simple introduction to this pass
...
llvm-svn: 6675
2003-06-10 20:02:16 +00:00
Guochun Shi
9766f8c3a2
cleaned code
...
add some comments
llvm-svn: 6674
2003-06-10 19:09:00 +00:00
Guochun Shi
2ee8c115d8
delete useless functions
...
add comment
llvm-svn: 6673
2003-06-08 23:16:07 +00:00
Guochun Shi
1ecd0e0228
change DEBUG to DEBUG_PRINT
...
llvm-svn: 6672
2003-06-08 20:40:47 +00:00
Chris Lattner
6a8642cc7e
Fix bug in environment setting
...
llvm-svn: 6671
2003-06-08 15:33:25 +00:00
Chris Lattner
569358416f
Add #include for older GCC's
...
llvm-svn: 6670
2003-06-08 06:43:57 +00:00
Chris Lattner
706548fca7
Fix bug: LevelRaise/2003-06-07-EmptyArrayTest.ll
...
llvm-svn: 6669
2003-06-07 21:45:42 +00:00
Chris Lattner
210eada263
New testcase
...
llvm-svn: 6668
2003-06-07 21:43:56 +00:00
Chris Lattner
bf2be2163b
Fix compilation problem on GCC 2.9x
...
llvm-svn: 6667
2003-06-07 20:29:58 +00:00
Misha Brukman
366494ab0d
Do not hastily change the Opcode from 'r' to 'i' type if we're not actually
...
SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.
llvm-svn: 6662
2003-06-07 02:34:43 +00:00
Chris Lattner
91ca134e26
Old versions of GCC doesn't have <ostream> :(
...
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Chris Lattner
235b91e2ea
Fix compilation problem with some versions of G++
...
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner
efadd781f4
Fix problem with perror
...
llvm-svn: 6659
2003-06-06 21:09:29 +00:00
Chris Lattner
11ecb1d8ca
Fix warnings on Sparc
...
llvm-svn: 6658
2003-06-06 18:25:33 +00:00
Misha Brukman
ff61facc3c
Print address out as hex.
...
llvm-svn: 6657
2003-06-06 09:53:28 +00:00
Misha Brukman
ad2ab66d89
Added 'r' and 'i' versions to WRCCR.
...
llvm-svn: 6656
2003-06-06 09:52:58 +00:00
Misha Brukman
2969ec5266
* Changed Bcc instructions to behave like BPcc instructions
...
* BPA and BPN do not take a %cc register as a parameter
* SLL/SRL/SRA{r,i}5 are there for a reason - they are ONLY 32-bit instructions
* Likewise, SLL/SRL/SRAX{r,i}6 are only 64-bit
* Added WRCCR{r,i} opcodes
llvm-svn: 6655
2003-06-06 09:52:23 +00:00
Misha Brukman
f77c991d3a
Return 'int 0' instead of 'void' so that the test can be seen as successful.
...
llvm-svn: 6654
2003-06-06 08:00:40 +00:00
Misha Brukman
1475599468
Return 'int 0' instead of void so that the test can be considered to pass.
...
llvm-svn: 6653
2003-06-06 07:58:29 +00:00
Misha Brukman
0941cd11c8
* Removed PreSelection pass because that is now done in the JIT
...
* Removed instruction scheduling as it is too slow to run in a JIT environment
* Removed other passes because they aren't necessary and can slow JIT down
llvm-svn: 6652
2003-06-06 07:11:16 +00:00
Chris Lattner
b630abfd47
Don't output explicit initializers for globals that are zero initialized
...
llvm-svn: 6651
2003-06-06 07:10:24 +00:00
Misha Brukman
0ccdecbdaa
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::
...
The JIT is designed to code-generate a function at-a-time. That means that any
pass can only make local changes to its function. Period.
Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding
globals to the Module, it cannot be run with the other passes, because by this
time, the globals have been output already by the JIT, and the addresses of any
globals appearing AFTER this point are not recognized.
However, the PreSelection pass is a requirement for correctness in the Sparc
codegen path, so it MUST be run.
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::
llvm-svn: 6650
2003-06-06 06:59:55 +00:00
Misha Brukman
a2b55253c6
Output function address as hex.
...
llvm-svn: 6649
2003-06-06 06:52:35 +00:00
Misha Brukman
6457791dae
Simplify test case: remove declaration of __main() and call to it.
...
llvm-svn: 6648
2003-06-06 06:50:43 +00:00
Misha Brukman
b7f76d32fe
Fixed a bunch of test cases in test/Regression/Jello which could not get the
...
address of a floating-point (allocated via ConstantPool) correctly.
llvm-svn: 6647
2003-06-06 04:41:22 +00:00
Chris Lattner
65d29b87e3
Add statistic for # machine instrs emitted
...
Add GROSS HACK to get CompilationCallback to work when compiled in release mode
llvm-svn: 6646
2003-06-06 04:00:05 +00:00
Misha Brukman
905ffcb780
* If a global is not a function, just ask the MachineCodeEmitter for the addr
...
* Do not block a print statement with a DEBUG() guard if we're going to abort()
llvm-svn: 6645
2003-06-06 03:35:37 +00:00
Misha Brukman
ee21ccc607
The SUB*i instructions belong to a different class than their SUB*r brethren.
...
llvm-svn: 6644
2003-06-06 03:34:47 +00:00
Misha Brukman
72d7da0397
All debug print statements are now output with the DEBUG() guard to make
...
output clean so that tests can automatically diff the output.
llvm-svn: 6643
2003-06-06 00:27:02 +00:00
Misha Brukman
1c1568ed68
Put all debug print statements under the DEBUG() guard to make output clean so
...
that tests can automatically diff the output.
llvm-svn: 6642
2003-06-06 00:26:11 +00:00
Misha Brukman
6940c8644e
Removed debug print statement.
...
llvm-svn: 6641
2003-06-06 00:00:54 +00:00
Misha Brukman
ee964e2690
Fixed confusion between register classes and register types.
...
Now %fcc registers are recognized correctly.
llvm-svn: 6640
2003-06-05 23:51:10 +00:00
Misha Brukman
97a04b24cc
Added missing directive to store the instruction name.
...
llvm-svn: 6639
2003-06-05 23:35:11 +00:00
Misha Brukman
90fd75efa4
Moved predict and annul fields to the end of each individual instruction
...
class, because they are currently unused.
llvm-svn: 6638
2003-06-05 23:33:15 +00:00
Misha Brukman
fd394b766a
Do not preset the cc register, the instructions actually use it.
...
llvm-svn: 6637
2003-06-05 23:30:27 +00:00
Misha Brukman
1cca1c68e1
* Stop ignoring cc registers, since we actually use them in branches.
...
* Added comment as to why we are still ignoring predict and annul bits.
llvm-svn: 6636
2003-06-05 23:15:25 +00:00
Vikram S. Adve
82dca3714f
Minor tuning -- avoid a non-inlinable function call on every operand.
...
Also, reorder a couple of functions for inlining.
llvm-svn: 6635
2003-06-05 21:12:56 +00:00
Chris Lattner
d295d99664
Fix (bogus) possibly uninitialized warning
...
llvm-svn: 6634
2003-06-05 21:01:26 +00:00
Misha Brukman
27afe52c4c
Added lazy function resolution to the JIT.
...
llvm-svn: 6633
2003-06-05 20:52:06 +00:00
Misha Brukman
9ac56f847f
* The textual output of (non-)predicted FP branches is the same.
...
* Stop mapping FBcc instructions to deprecated opcodes, map to FBPcc instead.
* Fixed opf in FCMPxy instructions.
llvm-svn: 6632
2003-06-05 20:51:37 +00:00
Chris Lattner
6bacaa1152
Remove duplicate pass
...
llvm-svn: 6631
2003-06-05 20:51:10 +00:00
Chris Lattner
45789aca97
Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll
...
llvm-svn: 6630
2003-06-05 20:12:51 +00:00
Chris Lattner
e295306e20
New testcase
...
llvm-svn: 6629
2003-06-05 20:12:32 +00:00
Chris Lattner
e14cfcd2b6
Test seteq AND setne
...
llvm-svn: 6628
2003-06-05 20:11:19 +00:00
Chris Lattner
f6db070e65
Implement generation of cmp R, C to not use an extra register
...
llvm-svn: 6627
2003-06-05 19:30:30 +00:00
Chris Lattner
06250116a8
Special case simple binary operator X op C
...
This avoid generating a register to hold C, which in turn speeds up the
register allocator by a lot: ~9% on 164.gzip and ~17% on 256.bzip2. This
also speeds up other passes. This also speeds up execution of the program
marginally, and makes the asm much easier to read. :)
llvm-svn: 6626
2003-06-05 18:28:55 +00:00
Chris Lattner
1b84b0b928
Add instructions for (add|sub|and|or|xor)ri(8|16|32)
...
llvm-svn: 6625
2003-06-05 18:25:08 +00:00
Chris Lattner
a7c5e0fba3
Fix bug: Jello/2003-06-04-bzip2-bug.ll
...
llvm-svn: 6624
2003-06-05 17:15:04 +00:00
Chris Lattner
d7753dadab
New testcase, the JIT currently handles this right, I just don't want to
...
reintroduce a bug that didn't have a testcase.
llvm-svn: 6623
2003-06-05 16:57:55 +00:00
Anand Shukla
2fd8edd659
Fixed a bug so initialization code is always inserted in main
...
llvm-svn: 6622
2003-06-05 06:02:46 +00:00
Chris Lattner
b561e7c6da
New testcase for PHI handling
...
llvm-svn: 6621
2003-06-05 05:38:30 +00:00
Chris Lattner
3cc301834e
Use a constant expr GEP instead of an actual instruction
...
llvm-svn: 6620
2003-06-05 04:48:18 +00:00
Misha Brukman
cbbe7ac699
All store instructions really want 'rd' in the first field.
...
Special cases: STFSRx and STXFSRx - they operate on predefined rd=0 or rd=1, and
expect %fsr as the parameter in assembly. They are disabled (since not used)
until an encoding, both for code generation and output, is chosen.
llvm-svn: 6619
2003-06-05 01:06:10 +00:00
Misha Brukman
98467a7a18
Added missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.
...
llvm-svn: 6618
2003-06-05 00:39:45 +00:00
Brian Gaeke
98eee41e0e
lib/CodeGen/Mapping/MappingInfo.cpp:
...
Update file comment to contain a bunch of the overview mapping-info
documentation previously buried within the file.
Remove some unnecessary include/using stmts.
Rename pass to MappingInfoCollector.
Rewrite a lot of it so it doesn't use global instance variables and so
it outputs into MappingInfo objects and then dumps those out, instead of going
straight to an assembly file.
Change name of factory to getMappingInfoCollector.
Fold prologue & epilogue writers into MappingInfo methods.
lib/Target/Sparc/FInfo.cpp:
Correct file comment to reflect above change
lib/Target/Sparc/Sparc.cpp:
Change name of factory to getMappingInfoCollector.
llvm-svn: 6617
2003-06-04 22:07:12 +00:00
Brian Gaeke
44b2d7a56f
Add file comment. Include <vector> and <string>. Update include guards
...
to reflect file's current location. Add definition of class
MappingInfo.
llvm-svn: 6616
2003-06-04 22:02:47 +00:00
Chris Lattner
365a47bdbb
Revert brians patch to get mapping info working again
...
sorry dude
llvm-svn: 6615
2003-06-04 21:01:12 +00:00
Tanya Lattner
cbf828dd0d
Had to comment out a line in outByte() to get it to compile because Out and tmp were
...
undeclared. I was not sure what Brian wanted, so I will let him fix this. But now it compiles.
llvm-svn: 6614
2003-06-04 20:53:46 +00:00
Chris Lattner
a485efa141
Make this work with counter > 127
...
llvm-svn: 6613
2003-06-04 20:08:47 +00:00
Misha Brukman
efafdf8046
* Instead of re-inventing the MachineConstantPool emitter that's already given
...
in Emitter.cpp, just convert the Sparc version of the constant pool into
what's already supported and inter-operate.
* Implemented a first pass at lazy function resolution in the JITResolver. That
required adding a SparcV9CodeEmitter pointer to simplify generating
bit-patterns of the instructions.
* SparcV9CodeEmitter now creates and destroys static TheJITResolver, which makes
sense because the SparcV9CodeEmitter is the only user of TheJITResolver, and
lives for the entire duration of the JIT (via PassManager which lives in VM).
* Changed all return values in the JITResolver to uint64_t because of the 64-bit
Sparc architecture.
* Added a new version of getting the value of a GlobalValue in the
SparcV9CodeEmitter, which now works for already-generated functions (JITted or
library functions).
* Removed little-used and unused functions, cleaning up the internal view of the
SparcV9CodeEmitter.
llvm-svn: 6612
2003-06-04 20:01:13 +00:00
Chris Lattner
8439388cb2
Add prerelease license to cvs
...
llvm-svn: 6611
2003-06-04 19:46:36 +00:00
Misha Brukman
1d443d1250
* Institute a hack for the Sparc call to mmap() to get our generated code to be
...
laid out closer to the VM so that calls to library functions (e.g. puts()) and
callback (e.g. JITResolver::CompilationCallback) fit into 30 bits of the call
instruction.
* Abort if architecture is not yet supported (not X86 or Sparc) because it
likely requires a different set of parameters to mmap() .
* Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead.
llvm-svn: 6610
2003-06-04 19:45:25 +00:00
Brian Gaeke
49833da4bf
Make writeNumber() void. Get ready to decouple it from .byte directive output.
...
llvm-svn: 6609
2003-06-04 18:17:22 +00:00
Vikram S. Adve
1f5392eb1e
Modify tracing rules to use opt -trace[m] instead of llc -trace[m].
...
llvm-svn: 6607
2003-06-04 14:24:52 +00:00
Sumant Kowshik
c318ca1a51
Made changes suggested by Chris
...
llvm-svn: 6606
2003-06-04 08:03:57 +00:00
Sumant Kowshik
061d15551f
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
...
llvm-svn: 6605
2003-06-04 08:00:05 +00:00
Chris Lattner
e967b348bf
Clean up previous code.
...
Add new combination to turn seteq X, 0 -> not(cast X to bool)
llvm-svn: 6604
2003-06-04 05:10:11 +00:00
Chris Lattner
d1f91d0660
Add new setCondition member
...
llvm-svn: 6603
2003-06-04 05:08:31 +00:00
Misha Brukman
4e7bad01ff
I have finally seen the light. The code to change the opcode must live higher in
...
the loop, and in both cases. In the first case, it is a VReg that is a constant
so it may be actually converted to a constant. In the second case, it is already
a constant, but then if it doesn't change its type (e.g. to become a register
and have the value loaded from memory if it is too large to live in its
instruction field), we must change the opcode BEFORE the 'continue', otherwise
we miss the opportunity.
llvm-svn: 6602
2003-06-04 04:54:06 +00:00
Misha Brukman
7be5063ccc
Added the 4.7 instruction class and all the FMOVcc instructions in them.
...
llvm-svn: 6601
2003-06-04 04:48:31 +00:00
Chris Lattner
d3ce33c422
Modernize testcase
...
llvm-svn: 6600
2003-06-04 04:47:40 +00:00
Chris Lattner
9eef8a78b4
Implement combination of boolean not with branch
...
llvm-svn: 6599
2003-06-04 04:46:00 +00:00
Chris Lattner
e1957a34f8
Add new test for inverting branches
...
llvm-svn: 6598
2003-06-04 04:37:46 +00:00
Misha Brukman
11cfb6f7dc
Comment out opcodes currently unused in the Sparc backend.
...
llvm-svn: 6597
2003-06-04 02:57:55 +00:00
Chris Lattner
fee44070a1
No really, you _cannot use_ getelementptr on an unsized type: that makes
...
no sense.
llvm-svn: 6595
2003-06-04 02:35:35 +00:00
Misha Brukman
37586db4b5
Added instruction format class 3.15 and floating-point compare instructions.
...
llvm-svn: 6594
2003-06-04 02:26:14 +00:00
Vikram S. Adve
680ee9f634
Undo one of those last fixes -- it was incorrect.
...
llvm-svn: 6593
2003-06-04 02:10:37 +00:00
Misha Brukman
905496e94f
Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in the
...
currently-running process.
llvm-svn: 6592
2003-06-04 01:57:22 +00:00
Chris Lattner
46666cfcdd
Avoid generating a getelementptr instruction of a function
...
llvm-svn: 6591
2003-06-04 01:24:40 +00:00
Misha Brukman
a6c3f896da
Pass through the emitConstantPool() call to the real emitter.
...
llvm-svn: 6590
2003-06-03 20:00:49 +00:00
Brian Gaeke
49e14432c2
Make the write*map methods more self-contained. Document some more.
...
llvm-svn: 6589
2003-06-03 19:30:15 +00:00
Vikram S. Adve
de9d6a41b6
Improved how tracing can be used:
...
-- added new targets %.trace-out-llc and %.trace-out-cbe
-- either TRACE=yes or TRACEM=yes is still needed and chooses how to trace
llvm-svn: 6585
2003-06-03 18:56:57 +00:00
Chris Lattner
9109b41a00
Minor cleanups:
...
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
llvm-svn: 6584
2003-06-03 15:42:53 +00:00
Chris Lattner
fd2a8f5868
Remove usage of typedef
...
llvm-svn: 6583
2003-06-03 15:41:58 +00:00
Chris Lattner
a87bab4e4c
Remove use of enum
...
llvm-svn: 6582
2003-06-03 15:41:45 +00:00
Chris Lattner
0addbab5e2
Add namespace comments for doxygen
...
llvm-svn: 6581
2003-06-03 15:31:23 +00:00
Chris Lattner
be9cef8af4
There are now no uses of NonCopyableV
...
llvm-svn: 6580
2003-06-03 15:30:48 +00:00
Chris Lattner
46a1892c68
Add doxygen comment for namespace
...
llvm-svn: 6579
2003-06-03 15:30:37 +00:00
Chris Lattner
f3dce0882f
Add comment for doxygen for namespace
...
llvm-svn: 6578
2003-06-03 15:30:13 +00:00
Chris Lattner
cee7ced058
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
llvm-svn: 6577
2003-06-03 15:30:01 +00:00
Chris Lattner
58f2b4c5bc
Remove noncopyable base class as it was making the doxygen docs harder to read
...
llvm-svn: 6576
2003-06-03 15:29:12 +00:00
Chris Lattner
fb29f4e173
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
...
making it harder to read.
llvm-svn: 6575
2003-06-03 15:28:40 +00:00
Brian Gaeke
71ab329f08
I documented this file, in an attempt to understand it, with a view toward
...
rewriting it. I also vacuumed out all the commented-out code and
inaccurate comments, etc.
(We need to put the mapping information in a data structure so that we can
pass it out to the JIT, instead of automagically converting it to .byte
directives.)
llvm-svn: 6574
2003-06-03 07:56:05 +00:00
Chris Lattner
1580a96e2a
Spiff up options a bit
...
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner
0521493aa9
Use the new -o tablegen option
...
llvm-svn: 6572
2003-06-03 05:06:33 +00:00
Chris Lattner
5ef4cf863b
Add -o support for TableGen
...
I figure that misha has done a lot of things on my todo list, the least I
can do is reciprocate a bit. :)
llvm-svn: 6571
2003-06-03 05:04:42 +00:00
Chris Lattner
6dc6f066bc
Make tablegen use more structured command line options
...
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Chris Lattner
3b8f3da50a
Fix minor bug
...
llvm-svn: 6569
2003-06-03 04:40:06 +00:00
Misha Brukman
2712333e5f
Constants are laid out in memory in PC-relative form.
...
llvm-svn: 6568
2003-06-03 03:24:12 +00:00
Misha Brukman
c8728a147e
Added opcode conversion for conditional move of integers.
...
llvm-svn: 6567
2003-06-03 03:23:35 +00:00
Misha Brukman
cdf6256940
* Convert load/store opcodes from register to immediate forms.
...
* Stop code from wrapping to the next line.
llvm-svn: 6566
2003-06-03 03:21:58 +00:00
Misha Brukman
3cdf52a644
Convert load/store opcodes from register to immediate forms, if necessary.
...
llvm-svn: 6565
2003-06-03 03:20:57 +00:00
Misha Brukman
b54bf54065
Store instructions are different from other Format 3.1/3.2 instructions in that
...
they prefer the destination register to be last. Thus, two new classes were made
for them that accomodate for having this layout of operands (F3_1rd, F3_2rd).
llvm-svn: 6564
2003-06-03 03:20:14 +00:00
Misha Brukman
0cf667165e
Moved code to modify the opcode from 'reg' to 'imm' form to a more logical place.
...
llvm-svn: 6563
2003-06-03 03:18:20 +00:00
Misha Brukman
bbd10f96a2
* Added section A.34: Move FP register on int reg condition (FMOVr)
...
* Labeled sections that are not currently used in the Sparc backend as not
requiring completion at this time.
llvm-svn: 6562
2003-06-03 01:16:27 +00:00
Misha Brukman
e9465fc1d4
* Removed unused classes (rd field is always mentioned last); fixed comments.
...
* Added instruction classes which start building from rs1, then rs2, and rd.
* Fixed order of operands in classes 4.1 and 4.2; added 4.6 .
llvm-svn: 6561
2003-06-03 01:13:53 +00:00
Misha Brukman
ace89ff224
* Removed unused classes: the rd field is always mentioned as the last reg.
...
* Added new classes which start building from rs1, adding rs2, and then rd.
* Fixed order of operands in classes 3.11, 3.12, 3.16, and 3.17 .
* Fixed comments to reflect Real Life (tm).
* Removed "don't care" commented out assignments and dead classes (#if 0).
llvm-svn: 6560
2003-06-03 01:11:58 +00:00
Misha Brukman
4485c795a9
The rd field goes after the immediate field in format 2.1 instructions.
...
llvm-svn: 6559
2003-06-03 01:04:04 +00:00
Misha Brukman
b6073c3719
Removing personal name from source code.
...
llvm-svn: 6558
2003-06-03 00:59:24 +00:00
Misha Brukman
ddbfa79371
Added the `to' keyword as in `cast <type> <data> to <type>'.
...
Cleaned up the header of the file (comments/description/etc).
llvm-svn: 6557
2003-06-03 00:57:41 +00:00
Misha Brukman
d8acf7c5c3
* Added the `to' keyword, as in `cast <type> <data> to <type>'.
...
* Gave the file a maintainer.
* Cleaned up the layout somewhat.
llvm-svn: 6556
2003-06-03 00:56:09 +00:00
Misha Brukman
7e66953f17
Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
...
llvm-svn: 6555
2003-06-03 00:07:17 +00:00
Misha Brukman
e7021ad033
Moved FInfo.cpp to lib/Target/Sparc as it is Sparc-specific.
...
llvm-svn: 6554
2003-06-02 23:27:09 +00:00
Chris Lattner
17776f432e
Minor cleanups.
...
This pass should be moved to lib/Target/Sparc since it's sparc specific
It also needs a file comment.
llvm-svn: 6553
2003-06-02 22:57:41 +00:00
Chris Lattner
396680793c
Remove usage of noncopyable classes to clean up doxygen output.
...
In particular these classes are the last that link the noncopyable classes
with the hash_map, vector, and list classes.
llvm-svn: 6552
2003-06-02 22:45:07 +00:00
Chris Lattner
befbece2c6
Remove NonCopyable base class to clean up doxygen output
...
llvm-svn: 6551
2003-06-02 22:07:37 +00:00
Chris Lattner
a0a3ef8d21
Add #include
...
llvm-svn: 6550
2003-06-02 22:05:13 +00:00
Misha Brukman
f545b2402f
Added MOVR (move int reg on register condition), aka comparison with zero.
...
None of these instructions are actually used in the Sparc backend, so no changes
were required in the instruction selector.
llvm-svn: 6549
2003-06-02 21:16:54 +00:00
Misha Brukman
843d6933a0
SparcInstr.def: added 'r' and 'i' versions of MOV(F)cc instructions
...
SparcInstrSelection.cpp:
* Fixed opcodes to return correct 'i' version since the two functions are each
only used in one place.
* Changed name of function to have an 'i' in the name to signify that they each
return an immediate form of the opcode.
* Added a warning if either of the functions is ever used in a context which
requires a register-version opcode.
SparcV9_F4.td: fixed class F4_3, added F4_4 and notes that F4_{1,2} need fixing
SparcV9.td: added the MOV(F)cc instructions
llvm-svn: 6548
2003-06-02 20:55:14 +00:00
Misha Brukman
155bdf6993
Removed a useless ofstream.
...
llvm-svn: 6547
2003-06-02 20:49:09 +00:00
Misha Brukman
609b55c255
* Added casts to/from floating-point to integers.
...
* Changed // comments to #ifdef 0 to maintain syntax highlighting.
llvm-svn: 6546
2003-06-02 19:08:37 +00:00
Guochun Shi
8dfdb0f68e
compiled with the new SchedGraphCommon
...
llvm-svn: 6545
2003-06-02 17:48:56 +00:00
Chris Lattner
93c8f14906
* Make assertion message useful
...
* Kill dead conditional
llvm-svn: 6544
2003-06-02 17:42:47 +00:00
Chris Lattner
4476a7bf80
Second testcase identified by Joel
...
llvm-svn: 6543
2003-06-02 17:31:24 +00:00
Chris Lattner
7fa6783a01
Fix bug: Linker/2003-06-02-TypeResolveProblem.ll
...
llvm-svn: 6542
2003-06-02 17:25:46 +00:00
Chris Lattner
92d2086df3
New testcase identified by Joel
...
llvm-svn: 6541
2003-06-02 17:07:42 +00:00
Chris Lattner
062127b4d9
Add support for C++ tests
...
llvm-svn: 6540
2003-06-02 05:49:11 +00:00
Chris Lattner
78dd43245d
Be more robust in the face of undefined behavior.
...
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll
llvm-svn: 6538
2003-06-02 05:42:39 +00:00
Chris Lattner
1f3ae6abeb
No need to print out bytecode :)
...
llvm-svn: 6537
2003-06-02 05:42:16 +00:00
Misha Brukman
55c6331637
Clean up after merging in SparcEmitter.cpp; branches and return work again.
...
llvm-svn: 6536
2003-06-02 05:24:46 +00:00
Chris Lattner
7b66a726f8
Minor cleanups
...
llvm-svn: 6535
2003-06-02 05:21:06 +00:00
Chris Lattner
43876ae58b
New testcase, reduced from 300.twolf by bugpoint
...
llvm-svn: 6534
2003-06-02 04:58:23 +00:00
Chris Lattner
a965631408
Remove stupid thinko that was preventing bugpoint from working
...
llvm-svn: 6533
2003-06-02 04:54:29 +00:00
Chris Lattner
b165ea31b7
Give better information about how the passes crash
...
llvm-svn: 6532
2003-06-02 04:54:16 +00:00
Misha Brukman
f9162dc713
Eliminated a compiler warning due to casting to a different-sized datatype.
...
llvm-svn: 6531
2003-06-02 04:13:58 +00:00
Misha Brukman
ce62d36615
Merged in tools/lli/JIT/SparcEmitter.cpp, coupled with the JITResolver taken
...
from lib/Target/X86/X86CodeEmitter.cpp .
llvm-svn: 6530
2003-06-02 04:12:39 +00:00
Misha Brukman
6fd0681010
Remove spurious assert()
...
llvm-svn: 6529
2003-06-02 04:10:41 +00:00
Misha Brukman
29848417f3
Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the
...
target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history.
llvm-svn: 6528
2003-06-02 03:28:00 +00:00
Misha Brukman
6ac7fe7dc0
* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp
...
* No more createX86Emitter() vs. createSparcEmitter() -- there can be only one
* As a result, the memory management semantics must be handled according to
platform -- the parameters to mmap() are particularly sensitive to the host
architecture.
llvm-svn: 6527
2003-06-02 03:23:16 +00:00
Chris Lattner
239ff501ac
Fix bug: CBackend/2003-06-01-NullPointerType.ll
...
llvm-svn: 6526
2003-06-02 03:10:53 +00:00
Chris Lattner
f557cbd314
Testcase distilled from 255.vortex
...
llvm-svn: 6525
2003-06-02 03:07:54 +00:00
Brian Gaeke
bca71e4735
Deal with %lo/%lm/%hm/%hh flags in getMachineOpValue().
...
llvm-svn: 6522
2003-06-02 02:13:26 +00:00
Chris Lattner
a0af384528
Old testcase
...
llvm-svn: 6521
2003-06-02 02:13:02 +00:00
Brian Gaeke
78e8ade959
The flag modifications weren't picking up the old values of the
...
flags before. Save them in a temporary variable, then restore them from the
temporary after creating the new constant.
llvm-svn: 6520
2003-06-02 02:10:31 +00:00
Chris Lattner
cd0a9fa5b4
Remove obsolete code
...
llvm-svn: 6518
2003-06-02 00:09:00 +00:00
Chris Lattner
6b689e3ad4
Move target specific code to target files. The new MachineCodeEmitter
...
class is actually target independent!
llvm-svn: 6517
2003-06-01 23:24:36 +00:00
Chris Lattner
3bb2a00849
Move X86 specific code out of the JIT into the X86 backend
...
llvm-svn: 6516
2003-06-01 23:23:50 +00:00
Chris Lattner
0c1475caf0
Changes to be compatible with MachineCodeEmitter.h
...
llvm-svn: 6515
2003-06-01 23:22:11 +00:00
Chris Lattner
aad566da80
Hack up MachineCodeEmitter to actually be target independent.
...
llvm-svn: 6514
2003-06-01 23:20:02 +00:00
Brian Gaeke
101ed907f4
Fix induction variable name clash in for loops, in finishFunction().
...
Modify new MachineOperand so that its flags match the old MachineOperand's
flags, for the flags that matter.
llvm-svn: 6513
2003-06-01 22:08:29 +00:00
Brian Gaeke
13dffdefef
Make the .inc file depend on $(TBLGEN), so that changes to TableGen followed
...
by a re-link of TableGen will notify Make to rebuild the .inc file.
llvm-svn: 6512
2003-06-01 04:52:51 +00:00
Chris Lattner
39adbfca5b
Don't print out unique identifier for opaque types
...
llvm-svn: 6511
2003-06-01 03:45:51 +00:00
Chris Lattner
4536fcd57b
* Implement cast (long|ulong) to bool
...
* Fix cast of (short|ushort|int|uint) to bool to work right
llvm-svn: 6510
2003-06-01 03:38:24 +00:00
Chris Lattner
bf37f7de1b
Add RR forms of test instruction
...
llvm-svn: 6509
2003-06-01 03:37:46 +00:00
Chris Lattner
7014a116dd
Add tests for cast of long to bool
...
llvm-svn: 6508
2003-06-01 03:37:25 +00:00
Chris Lattner
886fca4dc2
Fix a bug with casts to bool. This fixes testcase UnitTests/2003-05-31-CastToBool.c
...
llvm-svn: 6507
2003-06-01 03:36:51 +00:00
Chris Lattner
791ac1a4c8
Implement xform: (X != 0) -> (bool)X
...
llvm-svn: 6506
2003-06-01 03:35:25 +00:00
Chris Lattner
ef33748248
New testcases
...
llvm-svn: 6505
2003-06-01 03:34:53 +00:00