- May 06, 2004
-
-
John Criswell authored
When looking at getelementptr instructions, make sure to use a forwarded type. We want to do this because a DerivedType may drop its uses and then refine its users, who may then use another user who hasn't been refined yet. By getting the forwarded type, we always ensure that we're looking at a Type that isn't in a halfway refined state. Now, I should be able to put this stuff in PATypeHandle, but it doesn't work for some reason. This should do for now. llvm-svn: 13386
-
Chris Lattner authored
workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377
-
- May 05, 2004
-
-
Brian Gaeke authored
the debugging functions that call "dot". These fixed settings have various problems: for example, the fixed size that is set in the graph traits classes is not appropriate for turning the dot file into a PNG, and if TrueType font rendering is being used, the 'Courier' TrueType font may not be installed. It seems easy enough to specify these things on the command line, anyhow. llvm-svn: 13366
-
Brian Gaeke authored
llvm-svn: 13364
-
- May 04, 2004
-
-
John Criswell authored
llvm-svn: 13363
-
Brian Gaeke authored
llvm-svn: 13362
-
Brian Gaeke authored
constant pool member's name. This is intended to address Bug 333. Also, fix an anachronistic usage of "M" as a parameter of type Function *. llvm-svn: 13357
-
Brian Gaeke authored
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This ToolArgs vector is used to pass additional arguments to LLI and/or LLC. This is intended to address Bug 40. Also, make -debug-only=toolrunner work for the LLC and CBE AbstractInterpreters. llvm-svn: 13356
-
Chris Lattner authored
llvm-svn: 13355
-
Chris Lattner authored
div: mov %EDX, DWORD PTR [%ESP + 4] mov %ECX, 64 mov %EAX, %EDX sar %EDX, 31 idiv %ECX ret to this: div: mov %EAX, DWORD PTR [%ESP + 4] mov %ECX, %EAX sar %ECX, 5 shr %ECX, 26 mov %EDX, %EAX add %EDX, %ECX sar %EAX, 6 ret Note that the intel compiler is currently making this: div: movl 4(%esp), %edx #3.5 movl %edx, %eax #4.14 sarl $5, %eax #4.14 shrl $26, %eax #4.14 addl %edx, %eax #4.14 sarl $6, %eax #4.14 ret #4.14 Which has one less register->register copy. (hint hint alkis :) llvm-svn: 13354
-
Brian Gaeke authored
llvm-svn: 13352
-
Chris Lattner authored
This fixes PR332 and ADCE/2004-05-04-UnreachableBlock.llx llvm-svn: 13349
-
Brian Gaeke authored
llvm-svn: 13346
-
Chris Lattner authored
llvm-svn: 13342
-
Chris Lattner authored
llvm-svn: 13341
-
Brian Gaeke authored
llvm-svn: 13340
-
Brian Gaeke authored
which case you'll get a null array and zero passed to the profiling function. llvm-svn: 13336
-
Brian Gaeke authored
llvm-svn: 13335
-
- May 02, 2004
-
-
Chris Lattner authored
acting like a normal pass. :( llvm-svn: 13318
-
Chris Lattner authored
llvm-svn: 13317
-
Chris Lattner authored
llvm-svn: 13316
-
Chris Lattner authored
llvm-svn: 13315
-
Chris Lattner authored
llvm-svn: 13312
-
Chris Lattner authored
Turning "if (A < B && B < C)" into "if (A < B & B < C)" llvm-svn: 13311
-
Chris Lattner authored
missing opportunities for combination. llvm-svn: 13309
-
Chris Lattner authored
when replacing them, missing the opportunity to do simplifications llvm-svn: 13308
-
Chris Lattner authored
llvm-svn: 13307
-
Chris Lattner authored
llvm-svn: 13306
-
- May 01, 2004
-
-
Chris Lattner authored
llvm-svn: 13304
-
Chris Lattner authored
Look at all of the pretty minuses. :) llvm-svn: 13303
-
Chris Lattner authored
llvm-svn: 13302
-
Chris Lattner authored
use MachineBasicBlocks. To do this, we traverse the Machine CFG instead of the LLVM CFG, which is also *MUCH* more efficient by having fewer levels of indirections and mappings. llvm-svn: 13301
-
Chris Lattner authored
llvm-svn: 13297
-
Brian Gaeke authored
functions with wrappers that either take or return size_ts. llvm-svn: 13296
-
- Apr 30, 2004
-
-
Tanya Lattner authored
llvm-svn: 13291
-
Chris Lattner authored
is only used by a cast, and the casted type is the same size as the original allocation, it would eliminate the cast by folding it into the allocation. Unfortunately, it was placing the new allocation instruction right before the cast, which could pull (for example) alloca instructions into the body of a function. This turns statically allocatable allocas into expensive dynamically allocated allocas, which is bad bad bad. This fixes the problem by placing the new allocation instruction at the same place the old one was, duh. :) llvm-svn: 13289
-
- Apr 29, 2004
-
-
Misha Brukman authored
llvm-svn: 13264
-
Misha Brukman authored
llvm-svn: 13263
-
- Apr 28, 2004
-
-
Misha Brukman authored
* Make contained ostream pointer, not reference * Allow setting of that ostream via setStream() class CachedWriter: * setStream() in turn calls setStream() on the AssemblyWriter llvm-svn: 13247
-
Misha Brukman authored
llvm-svn: 13243
-