Jakob Stoklund Olesen
c0823fe7c6
Simplify RegScavenger::FindUnusedReg.
...
- Drop the Candidates argument and fix all callers. Now that RegScavenger
tracks available registers accurately, there is no need to restict the
search.
- Make sure that no aliases of the found register are in use. This was a potential bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79369 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 21:14:54 +00:00
Richard Osborne
1123135dbf
Add support for mergeable sections back into the XCore backend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 21:14:31 +00:00
Dan Gohman
3731604f1f
Fix a bug in raw_ostream::write(char) introduced by the change to
...
allow underlying stream classes to decline buffering. After
calling SetBuffered(), re-check whether the stream is Unbuffered
in order to handle the case where the underlying stream has
declined buffering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79362 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 20:09:59 +00:00
Daniel Dunbar
35979c021e
Revert r78924, disabling buffering defeats all the fast paths in raw_ostream.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 20:07:36 +00:00
Daniel Dunbar
651aa689cc
Improve Triple to recognize the OS in i386-mingw32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79359 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 19:26:55 +00:00
David Greene
fe37ab335b
Make various changes suggested by Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 19:22:55 +00:00
Misha Brukman
fc13d1c4d3
Surrounded variable in <tt> tags for consistency.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 19:18:40 +00:00
Daniel Dunbar
323a3e6533
Fix pasto in StringRef::count(char)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 18:34:22 +00:00
Owen Anderson
4d91943889
Privatize the ValueHandle global map. Because this is used so heavily throughout the code base, locking all accesses to
...
it is not practical performance-wise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 18:28:58 +00:00
Daniel Dunbar
5caba3bcb1
Add StringRef::count({char,StringRef})
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79354 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 18:26:35 +00:00
Erick Tryzelaar
f8bc801c6c
Fix an uninitialized value warning in APFloat.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 18:20:37 +00:00
Eric Christopher
2a80dc7814
Add CXXFLAGS to the Link lines as well in case someone used those instead
...
of LDFLAGS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79352 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 18:07:35 +00:00
Richard Osborne
a9e8334877
Put data with relocations in the same sections as data without relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79351 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 17:58:17 +00:00
Daniel Dunbar
daf4f0ca61
Attempt to normalize test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 17:38:27 +00:00
Dan Gohman
9ae003d334
Make this test less sensitive to assembler differences.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 17:19:46 +00:00
Chris Lattner
633a016493
alphabeticalize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79347 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 17:04:44 +00:00
Chris Lattner
35c3531754
fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 16:56:17 +00:00
Chris Lattner
755baa8329
force a triple so this passes on darwin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79345 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 16:55:45 +00:00
Dan Gohman
c40f17b087
Generalize ScalarEvolution to be able to analyze GEPs when
...
TargetData is not present. It still uses TargetData when available.
This generalization also fixed some limitations in the TargetData
case; the attached testcase covers this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79344 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 16:46:41 +00:00
Chris Lattner
4d35fce60c
null streamer needs to maintain the current section as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79343 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 16:46:29 +00:00
Oscar Fuentes
1e02bf092a
CMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
...
required on some platforms for building shared libraries that link to
the LLVM libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 15:29:35 +00:00
Dan Gohman
da65822cfc
Make tail merging handle blocks with repeated predecessors correctly, and
...
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.
Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.
test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.
Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79338 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 15:18:18 +00:00
Dan Gohman
6874a2ae03
Fix a bug that caused globalopt to miscompile tramp3d: don't miss
...
unruly indices for arrays that are members of structs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79337 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 14:58:19 +00:00
Anton Korobeynikov
848c293962
Text sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
...
Patch by Dmitry Gorbachev!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79334 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 14:06:12 +00:00
Misha Brukman
b2bacd9263
Fixed spelling of MSP430.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79333 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 13:50:28 +00:00
Daniel Dunbar
b26bc42a2c
Fix Triple to recognize the 'bfin' arch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79325 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 07:06:26 +00:00
Chris Lattner
dabf07c70a
Make AsmStreamer maintain a notion of the current section, pushing it up from the
...
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter.
While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert. This change is in preparation for completely eliminating
asmprinter::switchtosection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79324 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 06:15:16 +00:00
Chris Lattner
6a66e585b8
add a horrible hack to the dwarf printer. It looks like mingw is not specifying
...
an EHFrame section, so we just emit ehframe data into a random section.
This is clearly bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79323 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 06:13:03 +00:00
Nick Lewycky
40cce094a3
Include valgrind in the steps to reproduce if valgrind was used to reproduce
...
the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 06:08:01 +00:00
Chris Lattner
090d73c6bd
remove some pointless null switchtosections. The IntelAsmPrinter doesn't really work anyway.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 06:03:07 +00:00
Evan Cheng
51f39961c3
Fix revsh pattern.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 05:43:23 +00:00
Chris Lattner
79e6408ad3
add support for some targetflags on GV operands. This allows us to
...
send instructions like:
NEW: movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax
OLD: movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax
through the streamer. Several fixmes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79317 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 05:33:27 +00:00
Daniel Dunbar
2447389bac
Recognize xscale as an ARM arch.
...
- Patch by Yonggang Luo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:51:26 +00:00
Daniel Dunbar
fdb0b7b555
Add Triple matching for pic16 arch and solaris OS.
...
- Patch by Yonggang Luo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79314 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:43:27 +00:00
Chris Lattner
1f50fc736e
fix another bozo bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79313 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:34:36 +00:00
Chris Lattner
b49a30c109
fix accidentally inverted conditional and add comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:33:15 +00:00
Chris Lattner
a006d4e60d
turn this conditional into something humans might actually
...
be able to understand ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:30:35 +00:00
Chris Lattner
2c785880ea
"-" should write to stdout, not stderr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:03:24 +00:00
Daniel Dunbar
ca74096642
Change bugpoint to use Triple to make runtime decisions.
...
- This is cleaner, and makes bugpoint match the host instead of the build
architecture.
- Patch by Sandeep Patel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79309 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 03:35:57 +00:00
Eric Christopher
2bd4bb0397
Separate out Makefile defines so that we can keep the llvm
...
defined ones from the user defined ones. Propagate accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 03:23:40 +00:00
Daniel Dunbar
baf3eddc78
Add LLVMInitializeAllTargetInfos for C api, and update
...
LLVMInitializeNativeTarget to initialize target info.
- Patch by Jose Fonseca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79307 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 03:03:27 +00:00
Dan Gohman
8942f9bb9f
Make TargetData optional in MemCpyOptimizer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 01:17:52 +00:00
Evan Cheng
52151168bc
Even more Apple style build horribleness.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79299 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:56:17 +00:00
Dan Gohman
f14d919742
Make TargetData optional in SimplifyLibCalls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79298 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:48:13 +00:00
Anton Korobeynikov
0855f10906
Regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79297 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:40:51 +00:00
Anton Korobeynikov
e55db74152
The attached patches attempt to fix cross builds. For example, if you
...
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.
Patch by Sandeep Patel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79296 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:40:33 +00:00
Edward O'Callaghan
e1b80b6946
LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:24:36 +00:00
Dan Gohman
25103a2617
Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
...
returns a log2 value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79293 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:20:06 +00:00
Dale Johannesen
5cfd4ddece
PowerPC inline asm was emitting two output operands
...
for a single "m" constraint; this is wrong because the
opcode of a load or store would have to change in parallel.
This patch makes it always compute addresses into a register,
which is correct but not as efficient as possible. 7144566.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 00:18:39 +00:00
Devang Patel
4b49cd298a
Add prefix only if it is needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79289 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 23:17:17 +00:00