Commit Graph

47624 Commits

Author SHA1 Message Date
Evan Cheng 34c8c7414f Fix a CodeGenDAGPatterns bug. Check if top level predicates match when it's looking for duplicates.
llvm-svn: 74276
2009-06-26 05:59:16 +00:00
Chris Lattner 1d3b65a6ae fix a pasto.
llvm-svn: 74275
2009-06-26 05:56:49 +00:00
Chris Lattner 68bb4e0e01 dot graph viewing is apparently not using SDNode::print_details, this is bad,
but in the meantime lets print targetflags on node labels.

llvm-svn: 74274
2009-06-26 05:55:43 +00:00
Chris Lattner 17dcba9da4 propagate target operand flags from dag nodes into MachineOperands.
llvm-svn: 74273
2009-06-26 05:52:14 +00:00
Chris Lattner bd7e26db16 propagate target operand flags through addressing mode selection.
llvm-svn: 74272
2009-06-26 05:51:45 +00:00
Shantonu Sen 89d5c4196e Clarify how to configure llvm-gcc-4.2 for use with
test suite. Remove documentation for --with-f2c, which
is no longer supported. Remove information about obtaining
tcl/expect, which ship with Mac OS X by default since
10.4.

llvm-svn: 74271
2009-06-26 05:44:53 +00:00
Chris Lattner 54b8ebced6 fit in 80 cols
llvm-svn: 74270
2009-06-26 05:39:02 +00:00
Nick Lewycky 2dbc6476cb Escape the name of the module since it comes from the file name and may include
invalid characters like backslashes on Windows. Patch by James Abbatiello!

llvm-svn: 74265
2009-06-26 04:33:37 +00:00
Daniel Dunbar b44c26b7aa NewNightlyTest: Pull most VERBOSE handling into RunLoggedCommand function.
llvm-svn: 74256
2009-06-26 02:30:49 +00:00
Devang Patel 2cc6d183b2 Let's ignore MDStrings also!
llvm-svn: 74255
2009-06-26 02:26:12 +00:00
Devang Patel 62d414f327 Remove unnecessary includes.
llvm-svn: 74254
2009-06-26 02:25:46 +00:00
Daniel Dunbar e7d42501c2 Fix may-be-used-uninitialized warning.
llvm-svn: 74253
2009-06-26 02:03:52 +00:00
Daniel Dunbar 2d3d1cd91a NewNightlyTest: Factor out LLVM{Src,Obj,Test} variables.
- They can be overriden on the command line as well.

Add -teelogs option, which will also print the various logs on stdout.

llvm-svn: 74252
2009-06-26 01:53:05 +00:00
Devang Patel 0751a28888 Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms
and llvm.dbg.global_variables.

llvm-svn: 74251
2009-06-26 01:49:18 +00:00
Daniel Dunbar aa311ca000 Fix unused variable warnings.
llvm-svn: 74250
2009-06-26 01:34:35 +00:00
Daniel Dunbar 07025e2c02 Fix spelling of 'count'
llvm-svn: 74249
2009-06-26 01:33:02 +00:00
Owen Anderson 276fc52b72 Fix error in the Win32 implementation pointed out by Howard Su.
llvm-svn: 74248
2009-06-26 00:51:20 +00:00
Chris Lattner 2aaad91bbe start adding logic in isel to determine asm printer semantics, step N of M.
llvm-svn: 74246
2009-06-26 00:43:52 +00:00
Dan Gohman ac3b5382b8 Change this code to a form about which VC++ reportedly isn't unhappy.
llvm-svn: 74243
2009-06-26 00:35:12 +00:00
Dan Gohman 7eaf50ecac Fix LCSSA to avoid emitting a PHI node for the unwind destination of
an invoke instruction, since the value isn't really live across that
edge.

llvm-svn: 74242
2009-06-26 00:31:13 +00:00
Evan Cheng e2c4d35f3e Add a note about commuting conditional move.
llvm-svn: 74241
2009-06-26 00:28:48 +00:00
Dan Gohman 31167c61d5 Minor code simplification.
llvm-svn: 74240
2009-06-26 00:26:03 +00:00
Evan Cheng cf661fc12a These are done / no longer applicable.
llvm-svn: 74239
2009-06-26 00:25:27 +00:00
Evan Cheng 5bf9011c2d Mark a bunch of instructions commutable.
llvm-svn: 74237
2009-06-26 00:19:44 +00:00
Evan Cheng 9643ba8123 tst is also commutable.
llvm-svn: 74236
2009-06-26 00:19:07 +00:00
Owen Anderson b99db00b64 Committed the wrong version in my last commit.
llvm-svn: 74235
2009-06-26 00:17:05 +00:00
Owen Anderson 1efcb40c0f Privatize a static variable.
llvm-svn: 74234
2009-06-26 00:15:27 +00:00
Owen Anderson b74e84793d Guards for the compiler driver plugin list.
llvm-svn: 74230
2009-06-26 00:06:28 +00:00
Evan Cheng 97727a61f9 Select ADC, SBC, and RSC instead of the ADCS, SBCS, and RSCS when the carry bit def is not used.
llvm-svn: 74228
2009-06-25 23:34:10 +00:00
Owen Anderson 76cfd205ff Support thread-local pretty stack traces.
llvm-svn: 74227
2009-06-25 23:31:33 +00:00
Owen Anderson eba6e65291 Add support for const thread locals.
llvm-svn: 74226
2009-06-25 23:31:18 +00:00
Owen Anderson eb51111851 Fix typo in assertion.
llvm-svn: 74225
2009-06-25 23:28:28 +00:00
David Goodwin 16f357cccf Use MVN for ~t2_so_imm immediates.
llvm-svn: 74223
2009-06-25 23:11:21 +00:00
Owen Anderson 1154983b9c Add a configure test for pthread_getspecific, and use it when building ThreadLocal.
llvm-svn: 74222
2009-06-25 23:10:26 +00:00
David Goodwin e85169cd1b Add Def/Use of CPSR for Thumb-1 instructions.
llvm-svn: 74219
2009-06-25 22:49:55 +00:00
Daniel Dunbar 4a5a561a24 MC: Parse .org directives.
llvm-svn: 74218
2009-06-25 22:44:51 +00:00
Devang Patel 0c044ecdb0 Simplify.
llvm-svn: 74215
2009-06-25 22:36:02 +00:00
Evan Cheng 7e687191fd Unbreak mingw build. Patch by Viktor Kutuzov.
llvm-svn: 74212
2009-06-25 22:04:44 +00:00
Bill Wendling 722c6e1b70 Don't grep the -debug output. This isn't the way to test changes.
llvm-svn: 74211
2009-06-25 21:59:32 +00:00
Owen Anderson bc17dc6ed4 Update cmake build files.
llvm-svn: 74210
2009-06-25 21:58:34 +00:00
Owen Anderson f17f6f06fa Add a class for supporting platform independent thread-local storage.
Windows people, please double-check/patch this.

llvm-svn: 74209
2009-06-25 21:58:01 +00:00
Daniel Dunbar 2d2ee150eb MC: Parse .set and assignments.
llvm-svn: 74208
2009-06-25 21:56:11 +00:00
Chris Lattner a4194b1082 down with unwind info :)
llvm-svn: 74206
2009-06-25 21:48:17 +00:00
Chris Lattner b3586b6e73 add targetflags to jump tables and constant pool entries.
llvm-svn: 74204
2009-06-25 21:35:31 +00:00
Chris Lattner 8e34f98d72 allow setting target operand flags on TargetGlobalAddress nodes.
llvm-svn: 74203
2009-06-25 21:21:14 +00:00
Daniel Dunbar 188e87fa21 MC: Truncate values when printing, to keep 'as' happy.
llvm-svn: 74201
2009-06-25 21:03:18 +00:00
Evan Cheng c7ea8df67e ISD::ADDE / ISD::SUBE updates the carry bit so they should isle to ADCS and SBCS / RSCS.
llvm-svn: 74200
2009-06-25 20:59:23 +00:00
Chris Lattner af5dbfc6f8 start bringing targetoperand flags into isel, first up, ExternalSymbol.
llvm-svn: 74199
2009-06-25 18:45:50 +00:00
Mikhail Glushenkov 269884ead5 Better error message.
llvm-svn: 74193
2009-06-25 18:21:34 +00:00
Mikhail Glushenkov 2b4a7dc1dc Regenerate.
llvm-svn: 74192
2009-06-25 18:21:10 +00:00
Mikhail Glushenkov d1d21a1ce9 Update documentation.
llvm-svn: 74191
2009-06-25 18:20:44 +00:00
Mikhail Glushenkov 674207eed2 Make -save-temps behave like in GCC 4.5.
The -save-temps option now behaves like described in GCC 4.5 release notes
(you can specify output directory for temporary files with -save-temps=obj
-o $DIRNAME). I do not have GCC 4.5 installed, so if there are any
inconsistencies between llvmc and GCC in the implementation of this
feature, please let me know.

llvm-svn: 74190
2009-06-25 18:20:10 +00:00
Owen Anderson 3f76e6f835 Privatize this map.
llvm-svn: 74189
2009-06-25 18:13:04 +00:00
Owen Anderson 021c3b0756 Guard dynamic library loading.
I did my best at implementing this for Win32, but I don't have a way to test it.
Can someone with access to a Win32 machine test/fix this?

llvm-svn: 74188
2009-06-25 18:12:44 +00:00
Sanjiv Gupta 78bd40ee89 Added floating point conditional operations support via libcalls.
llvm-svn: 74187
2009-06-25 18:12:06 +00:00
Chris Lattner 83992b19e4 simplify shouldPrintPLT
llvm-svn: 74186
2009-06-25 17:58:52 +00:00
David Goodwin e892e8bfaf Test commit
llvm-svn: 74185
2009-06-25 17:52:32 +00:00
Chris Lattner 852739b46f Use target-specific machine operand flags to eliminate a gross hack
from the asmprinter.

llvm-svn: 74184
2009-06-25 17:38:33 +00:00
Chris Lattner 1927844ebf just eliminate the code entirely!
llvm-svn: 74183
2009-06-25 17:28:07 +00:00
Chris Lattner 6e70895c1e Clone target flags when copying mbb operands.
llvm-svn: 74181
2009-06-25 17:21:32 +00:00
Owen Anderson 5defd5655e Provide guards for this shared structure. I'm not sure this actually needs
to be shared, but how/where to privatize it is not immediately clear to me.

If any SelectionDAG experts see a better solution, please share!

llvm-svn: 74180
2009-06-25 17:09:00 +00:00
Owen Anderson e384952e47 Privatize some more debug-related static data.
llvm-svn: 74179
2009-06-25 16:55:32 +00:00
Owen Anderson 52d70e2d05 Use a more correct atomic increment style. This isn't really necessary in
this case, but it should help avoid issues in the future.

llvm-svn: 74178
2009-06-25 16:32:45 +00:00
Bob Wilson 8f74c88cb6 Revert 74164. We'll want to use this method later.
llvm-svn: 74176
2009-06-25 16:03:07 +00:00
Sanjiv Gupta 1a20d2ab98 Identify unconditional gotos and generate a page sel instructions before them.
llvm-svn: 74172
2009-06-25 11:03:14 +00:00
Bruno Cardoso Lopes e364a233c0 Support Constant Pool Sections
Add section symbols to the symbol table

llvm-svn: 74170
2009-06-25 07:36:24 +00:00
Bob Wilson 350abb9799 Remove unused hasV6T2Ops method. We already have a separate feature to
identify Thumb2.

llvm-svn: 74164
2009-06-25 05:20:31 +00:00
Douglas Gregor 2042c3519d Add missing dependencies to the CMake build system.
llvm-svn: 74161
2009-06-25 05:03:06 +00:00
Chris Lattner a0117b65a2 add file to cmake
llvm-svn: 74159
2009-06-25 04:29:08 +00:00
Evan Cheng d76f0be844 Change thumb2 instruction definitions so if-converter so add predicate operands and / or flip the 's' bit to set the condition flag.
llvm-svn: 74158
2009-06-25 02:08:06 +00:00
Jeffrey Yasskin 0b08f3d7cc Add a JITEventListener interface that gets called back when a new function is
emitted or the machine code for a function is freed.  Chris mentioned that we
may also want a notification when a stub is emitted, but that'll be a future
change.  I intend to use this to tell oprofile where functions are emitted and
what lines correspond to what addresses.

llvm-svn: 74157
2009-06-25 02:04:04 +00:00
Evan Cheng 6ea7ad0351 Add thumb2 add sp.
llvm-svn: 74156
2009-06-25 01:21:30 +00:00
Chris Lattner 8a08866378 ad MachineInstrBuilder support for target flags on operands.
llvm-svn: 74155
2009-06-25 01:16:22 +00:00
Chris Lattner ea7422e7bf fix comments to be correct.
llvm-svn: 74154
2009-06-25 01:15:47 +00:00
Mikhail Glushenkov 73da626340 Remove duplication.
Factor out common preprocessor-related bits to Makefile.rules.

llvm-svn: 74153
2009-06-25 01:07:00 +00:00
Evan Cheng b566ab7b97 Some reorg and additional comments.
llvm-svn: 74152
2009-06-25 01:05:06 +00:00
Devang Patel 9d68302e48 No need to code gen MDNodes
llvm-svn: 74150
2009-06-25 00:47:42 +00:00
Bill Wendling 7f7eb8ac13 My guess is that RegInfo should only call the Allocator.Deallocator if it's not
null.

llvm-svn: 74147
2009-06-25 00:32:48 +00:00
Dan Gohman 091e440568 Reword a few comments.
llvm-svn: 74146
2009-06-25 00:22:44 +00:00
Dan Gohman 72777de7d1 Add a getUniqueExitBlock utility function, similar to getExitBlock,
but for getUniqueExitBlocks.

llvm-svn: 74145
2009-06-25 00:09:57 +00:00
Owen Anderson b5042f20e7 Now with EVEN FEWER statics!
llvm-svn: 74143
2009-06-25 00:04:15 +00:00
Evan Cheng 83f979a48b Add Thumb2 pc relative add.
llvm-svn: 74141
2009-06-24 23:47:58 +00:00
Owen Anderson 816e2833c4 Fewer static variables, part 3 of many.
llvm-svn: 74140
2009-06-24 23:41:44 +00:00
Daniel Dunbar a10e519e04 Basic .s parsing for .asci[iz], .fill, .space, {.byte, .short, ... }
- Includes some DG tests in test/MC/AsmParser, which are rather primitive since
   we don't have a -verify mode yet.

llvm-svn: 74139
2009-06-24 23:30:00 +00:00
Evan Cheng 4c048fe5ad 80 col violation.
llvm-svn: 74138
2009-06-24 23:14:45 +00:00
Owen Anderson 19c4b66830 Down with _even more_ statics!
llvm-svn: 74137
2009-06-24 23:13:56 +00:00
Owen Anderson dbc98ae4c2 Didn't mean to commit this part.
llvm-svn: 74135
2009-06-24 22:58:48 +00:00
Owen Anderson 9becc183e1 Down with statics!
llvm-svn: 74134
2009-06-24 22:53:20 +00:00
Devang Patel 4c563168d5 Add constructor to create MDString using std::string
llvm-svn: 74133
2009-06-24 22:42:39 +00:00
Owen Anderson ae471cf3a9 Move local statics to per-instance variables.
llvm-svn: 74132
2009-06-24 22:28:12 +00:00
David Greene 08d3ac17f0 Increase limit for OpActions array
The OpActions array had a limit of 32 value types, so change it to use
MVT::MAX_ALLOWED_VALUETYPE in its declaration and change the accesses to
this array to work with a VT.getSimpleVT() that is larger than 32.

Also, add a comment to the place where MVT::MAX_ALLOWED_VALUETYPE is
defined indicating that it must be a multiple of 32.

This is part of the work allow MVT::LAST_VALUETYPE be greater than 32.

llvm-svn: 74130
2009-06-24 22:22:02 +00:00
Owen Anderson 8e62b5f339 Make this thread-safe.
llvm-svn: 74129
2009-06-24 22:16:52 +00:00
Owen Anderson 4830e08613 Get rid of a static boolean.
llvm-svn: 74125
2009-06-24 22:08:59 +00:00
Evan Cheng ff1a4a7271 We should run these tests as well.
llvm-svn: 74121
2009-06-24 21:36:26 +00:00
Andreas Bolka 8c7e299270 Scaffolding for LDA pass.
llvm-svn: 74120
2009-06-24 21:29:13 +00:00
Jeffrey Yasskin e3dccb7047 ReleaseNotes.External Projects += Rubinius
llvm-svn: 74119
2009-06-24 21:26:42 +00:00
Bob Wilson a1d3e660ae Fix the Ocaml bindings for the ExecutionEngine: with the change to build
libraries instead of relinked objects, the interpreter, JIT, and native
target libraries were not being linked in to an ocaml program using the
ExecutionEngine.

llvm-svn: 74117
2009-06-24 21:09:18 +00:00
Jeffrey Yasskin c3aff2c3fa ReleaseNotes.External Projects += Unladen Swallow
llvm-svn: 74116
2009-06-24 21:09:13 +00:00
Lang Hames 6858b7d06a Completed basic intra block split implementation.
llvm-svn: 74114
2009-06-24 20:46:24 +00:00
Owen Anderson de018c412f Update for DOTGraphTraits changes.
llvm-svn: 74113
2009-06-24 20:41:17 +00:00